33 */
44package io .snyk .eclipse .plugin .views .snyktoolview ;
55
6- import java .io .ByteArrayOutputStream ;
7- import java .io .InputStream ;
8- import java .net .URL ;
9- import java .util .Base64 ;
10-
11- import org .eclipse .core .runtime .FileLocator ;
12- import org .eclipse .core .runtime .Path ;
136import org .eclipse .core .runtime .Platform ;
147import org .eclipse .jface .action .Action ;
8+ import org .eclipse .jface .action .MenuManager ;
159import org .eclipse .jface .preference .PreferenceDialog ;
1610import org .eclipse .jface .viewers .ISelectionChangedListener ;
1711import org .eclipse .jface .viewers .IStructuredSelection ;
2216import org .eclipse .swt .browser .Browser ;
2317import org .eclipse .swt .custom .SashForm ;
2418import org .eclipse .swt .layout .FillLayout ;
19+ import org .eclipse .swt .layout .GridData ;
20+ import org .eclipse .swt .layout .GridLayout ;
2521import org .eclipse .swt .widgets .Composite ;
22+ import org .eclipse .swt .widgets .Menu ;
2623import org .eclipse .swt .widgets .Shell ;
2724import org .eclipse .swt .widgets .Tree ;
2825import org .eclipse .ui .PlatformUI ;
3128import org .osgi .framework .Bundle ;
3229
3330import io .snyk .eclipse .plugin .utils .ResourceUtils ;
31+ import io .snyk .eclipse .plugin .views .SnykView ;
32+ import io .snyk .eclipse .plugin .views .snyktoolview .providers .TreeContentProvider ;
33+ import io .snyk .eclipse .plugin .views .snyktoolview .providers .TreeLabelProvider ;
3434
3535/**
3636 * TODO This view will replace the old SnykView. Move the snyktoolview classes
@@ -42,7 +42,7 @@ public class SnykToolView extends ViewPart {
4242 /**
4343 * The ID of the view as specified by the extension.
4444 */
45- public static final String ID = "io.snyk.eclipse.plugin.views.snyktoolview.SnykToolView " ;
45+ public static final String ID = "io.snyk.eclipse.plugin.views.snyktoolview" ;
4646
4747 ResourceUtils data = new ResourceUtils ();
4848
@@ -61,14 +61,22 @@ public void createPartControl(Composite parent) {
6161 // Create TreeViewer
6262 treeViewer = new TreeViewer (sashForm , SWT .BORDER );
6363 Tree tree = treeViewer .getTree ();
64- tree .setHeaderVisible (true );
65- tree .setLinesVisible (true );
64+ tree .setHeaderVisible (false );
65+ tree .setLinesVisible (false );
66+ tree .setLayout (new GridLayout ());
67+ tree .setLayoutData (new GridData (SWT .FILL , SWT .FILL , true , true ));
6668
6769 // Set up the tree content (replace with your own content provider)
68- // treeViewer.setContentProvider(new TreeContentProvider());
69- // treeViewer.setLabelProvider(new TreeLabelProvider());
70+ treeViewer .setContentProvider (new TreeContentProvider ());
71+ treeViewer .setLabelProvider (new TreeLabelProvider ());
7072// treeViewer.setInput(createTreeInput());
7173
74+ // Create and set the root object
75+ RootObject rootObject = new RootObject ();
76+ treeViewer .setInput (rootObject );
77+
78+ registerTreeContextMeny (parent );
79+
7280 // Create Browser
7381 browser = new Browser (sashForm , SWT .NONE );
7482 initBrowserText ();
@@ -91,6 +99,13 @@ public void selectionChanged(SelectionChangedEvent event) {
9199 makeActions ();
92100 }
93101
102+ private void registerTreeContextMeny (Composite parent ) {
103+ MenuManager menuMgr = new MenuManager ("treemenu" );
104+ Menu menu = menuMgr .createContextMenu (parent );
105+ getSite ().registerContextMenu (menuMgr , null );
106+ parent .setMenu (menu );
107+ }
108+
94109 private void updateBrowserContent (TreeNode node ) {
95110 // Generate HTML content based on the selected node
96111 String htmlContent = generateHtmlContent (node );
@@ -116,7 +131,7 @@ private void initBrowserText() {
116131 "%snyk.trust.dialog.warning.text" );
117132
118133 Bundle bundle = Platform .getBundle ("io.snyk.eclipse.plugin" );
119- String base64Image = ResourceUtils .getBase64Image ( bundle , "logo_snyk.png" );
134+ String base64Image = ResourceUtils .getBase64Image (bundle , "logo_snyk.png" );
120135
121136 browser .setText ("<!DOCTYPE html> <html lang=\" en\" > <head> <meta charset=\" UTF-8\" > "
122137 + "<meta name=\" viewport\" content=\" width=device-width, initial-scale=1.0\" > "
@@ -160,7 +175,6 @@ public void run() {
160175 openPrefPage .setText ("Preferences" );
161176 }
162177
163-
164178 private static Shell getShell () {
165179 var activeWorkbenchWindow = PlatformUI .getWorkbench ().getActiveWorkbenchWindow ();
166180 if (activeWorkbenchWindow == null )
0 commit comments