eclipse - Dynamic refresh of a composite -


i have tree viewer next specialized viewer. when selected in tree viewer, details object shown in specialized viewer. treeviewer tree, composite control, , myspecializedviewer viewer instance variables.

public theeverythingviewer(composite parent) { control = new composite(parent, swt.none); control.setlayout(new gridlayout(2, false)); tree = new treeviewer(control); tree.setcontentprovider(new mycontentprovider()); tree.setlabelprovider(new mylabelprovider()); tree.setusehashlookup(true); tree.getcontrol().setlayoutdata(new griddata(griddata.beginning, griddata.fill, false, true, 1, 1)); tree.addselectionchangedlistener(new iselectionchangedlistener() { @override public void selectionchanged(selectionchangedevent event) { try { istructuredselection sel = (istructuredselection) event.getselection(); myclass myinput = (myclass) sel.getfirstelement(); if (viewer != null) if (!viewer.getcontrol().isdisposed()) viewer.getcontrol().dispose(); viewer = new myspecializedviewer(control, table); control.getshell().layout(); } catch (exception e) { if (viewer != null) if (!viewer.getcontrol().isdisposed()) viewer.getcontrol().dispose(); viewer = null; } } }); } 

am doing wrong? want:

+--------------+--------------------------------------------+ | + node | | | - node | | | + node | | | - node | | | - node | specialized | | | viewer | | | | | | | | | | | | | | | | | | | | | +--------+ | | | | | | | | | | | | | | | | | | +--------+ | | | | | | | | | | | | | +--------------+--------------------------------------------+ 

the specialized viewer has tables need consume more or less space depending on selected node. , currently, creating new instance of specialized viewer much, simpler changing it's input (that wouldn't work atm).

yes, shouldn't recreating viewer every time selection changes in tree, should sending tree's selection existing viewer input, @ point can whatever want new input. you're never setting layout data on specialized viewer's control, , forcing entire shell re-layout wasteful.


Comments

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

c++ - Accessing inactive union member and undefined behavior? -

php - Get uncommon values from two or more arrays -