Search in sources :

Example 1 with JaretTableActionFactory

use of de.jaret.util.ui.table.util.action.JaretTableActionFactory in project translationstudio8 by heartsome.

the class TableHierarchicalExample method createControls.

/**
     * Create the controls that compose the console test.
     * 
     */
protected void createControls(IHierarchicalJaretTableModel hierarchicalModel) {
    GridLayout gl = new GridLayout();
    gl.numColumns = 1;
    _shell.setLayout(gl);
    GridData gd = new GridData(GridData.FILL_BOTH);
    _jt = new JaretTable(_shell, SWT.V_SCROLL | SWT.H_SCROLL);
    _jt.setLayoutData(gd);
    IHierarchicalJaretTableModel hmodel = hierarchicalModel;
    if (hierarchicalModel == null) {
        ITableNode root = new DummyTableNode("tn1", "tn1", "Root", "This the root node");
        ITableNode r1 = new DummyTableNode("tn11", "tn12", "1", "Child 1 of the root");
        ITableNode r2 = new DummyTableNode("tn12", "tn12", "2", "Child 2 of the root");
        ITableNode r3 = new DummyTableNode("tn13", "tn13", "3", "Child 3 of the root");
        root.addNode(r1);
        root.addNode(r2);
        root.addNode(r3);
        r1.addNode(new DummyTableNode("tn111", "tn111", "1", "A second level child"));
        r1.addNode(new DummyTableNode("tn112", "tn112", "2", "Another second level child"));
        ITableNode n1 = new DummyTableNode("tn131", "tn131", "1", "A second level child");
        r3.addNode(n1);
        ITableNode n2 = new DummyTableNode("tn132", "tn132", "2", "Another second level child");
        r3.addNode(n2);
        n1.addNode(new DummyTableNode("tn1311", "tn1311", "1", "A third level child"));
        n1.addNode(new DummyTableNode("tn1312", "tn1312", "2", "Another third level child"));
        DefaultHierarchicalTableModel dhmodel = new DefaultHierarchicalTableModel(root);
        hmodel = dhmodel;
        if (SUPPORT_DND) {
            // init the simple drag and drop handling
            initDND(_jt, _shell);
        }
    }
    _jt.setTableModel(hmodel);
    StdHierarchicalTableModel model = (StdHierarchicalTableModel) _jt.getTableModel();
    IColumn hcol = new HierarchyColumn();
    // create and setup hierarchy renderer
    final TableHierarchyRenderer hierarchyRenderer = new TableHierarchyRenderer();
    hierarchyRenderer.setLabelProvider(new LabelProvider());
    hierarchyRenderer.setDrawIcons(true);
    hierarchyRenderer.setDrawLabels(true);
    _jt.registerCellRenderer(hcol, hierarchyRenderer);
    model.addColumn(hcol);
    model.addColumn(new PropCol("b1", "column 1", "B1"));
    model.addColumn(new PropCol("t1", "column 2", "T1"));
    model.addColumn(new PropCol("t2", "column 3", "T2"));
    model.addColumn(new PropCol("t3", "column 4", "T3"));
    JaretTableActionFactory af = new JaretTableActionFactory();
    MenuManager mm = new MenuManager();
    mm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_CONFIGURECOLUMNS));
    _jt.setHeaderContextMenu(mm.createContextMenu(_jt));
    MenuManager rm = new MenuManager();
    rm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_OPTROWHEIGHT));
    rm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_OPTALLROWHEIGHTS));
    _jt.setRowContextMenu(rm.createContextMenu(_jt));
    TableControlPanel ctrlPanel = new TableControlPanel(_shell, SWT.NULL, _jt);
    Label l = new Label(_shell, SWT.NONE);
    l.setText("Level width:");
    final Scale levelWidthScale = new Scale(_shell, SWT.HORIZONTAL);
    levelWidthScale.setMaximum(40);
    levelWidthScale.setMinimum(0);
    levelWidthScale.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent ev) {
            int val = levelWidthScale.getSelection();
            hierarchyRenderer.setLevelWidth(val);
            _jt.redraw();
        }
    });
}
Also used : JaretTable(de.jaret.util.ui.table.JaretTable) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Label(org.eclipse.swt.widgets.Label) JaretTableActionFactory(de.jaret.util.ui.table.util.action.JaretTableActionFactory) Scale(org.eclipse.swt.widgets.Scale) DefaultHierarchicalTableModel(de.jaret.util.ui.table.model.DefaultHierarchicalTableModel) TableHierarchyRenderer(de.jaret.util.ui.table.renderer.TableHierarchyRenderer) GridLayout(org.eclipse.swt.layout.GridLayout) IColumn(de.jaret.util.ui.table.model.IColumn) HierarchyColumn(de.jaret.util.ui.table.model.HierarchyColumn) PropCol(de.jaret.util.ui.table.model.PropCol) GridData(org.eclipse.swt.layout.GridData) MenuManager(org.eclipse.jface.action.MenuManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) IHierarchicalJaretTableModel(de.jaret.util.ui.table.model.IHierarchicalJaretTableModel) StdHierarchicalTableModel(de.jaret.util.ui.table.model.StdHierarchicalTableModel) ITableNode(de.jaret.util.ui.table.model.ITableNode) ILabelProvider(org.eclipse.jface.viewers.ILabelProvider)

Example 2 with JaretTableActionFactory

use of de.jaret.util.ui.table.util.action.JaretTableActionFactory in project translationstudio8 by heartsome.

the class SimpleModelExample method createControls.

/**
     * Create the controls that compose the console test.
     * 
     */
protected void createControls() {
    GridLayout gl = new GridLayout();
    gl.numColumns = 1;
    _shell.setLayout(gl);
    GridData gd = new GridData(GridData.FILL_BOTH);
    _jt = new JaretTable(_shell, SWT.V_SCROLL | SWT.H_SCROLL);
    _jt.setLayoutData(gd);
    if (_tableModel == null) {
        SimpleJaretTableModel model = new SimpleJaretTableModel();
        for (int x = 0; x <= NUMCOLS; x++) {
            model.setHeaderLabel(x, "" + x);
            for (int y = 0; y <= NUMROWS; y++) {
                model.setValueAt(x, y, x + "/" + y);
            }
        }
        _tableModel = model;
    }
    _jt.setTableModel(_tableModel);
    // set rowheight mode to variable .. optimal would be quite expensive on each col resize
    _jt.getTableViewState().setRowHeightMode(ITableViewState.RowHeightMode.VARIABLE);
    for (int i = 0; i < NUMCOLS; i++) {
        IColumn col = _tableModel.getColumn(i);
        _jt.getTableViewState().setColumnWidth(col, 40);
    }
    JaretTableActionFactory af = new JaretTableActionFactory();
    MenuManager mm = new MenuManager();
    mm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_CONFIGURECOLUMNS));
    _jt.setHeaderContextMenu(mm.createContextMenu(_jt));
    MenuManager rm = new MenuManager();
    rm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_OPTROWHEIGHT));
    rm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_OPTALLROWHEIGHTS));
    _jt.setRowContextMenu(rm.createContextMenu(_jt));
    TableControlPanel ctrlPanel = new TableControlPanel(_shell, SWT.NULL, _jt);
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) IColumn(de.jaret.util.ui.table.model.IColumn) JaretTable(de.jaret.util.ui.table.JaretTable) GridData(org.eclipse.swt.layout.GridData) MenuManager(org.eclipse.jface.action.MenuManager) SimpleJaretTableModel(de.jaret.util.ui.table.model.simple.SimpleJaretTableModel) JaretTableActionFactory(de.jaret.util.ui.table.util.action.JaretTableActionFactory)

Example 3 with JaretTableActionFactory

use of de.jaret.util.ui.table.util.action.JaretTableActionFactory in project translationstudio8 by heartsome.

the class TableExample method createControls.

/**
     * Create the controls that compose the console test.
     * 
     */
protected void createControls() {
    GridLayout gl = new GridLayout();
    gl.numColumns = 1;
    _shell.setLayout(gl);
    GridData gd = new GridData(GridData.FILL_BOTH);
    _jt = new JaretTable(_shell, SWT.V_SCROLL | SWT.H_SCROLL);
    _jt.setLayoutData(gd);
    if (_tableModel == null) {
        DefaultJaretTableModel model = new PropListeningTableModel();
        model.addRow(new DummyRow("r1", "The quick brown fox jumps over the crazy dog.", "Mars", true, new Date(), TableExample.getImageRegistry().get("splash")));
        model.addRow(new DummyRow("r2", "Dogma i am god", "Venus", true, new Date()));
        model.addRow(new DummyRow("r3", "Wenn der kleine Blindtext einmal gro� und wichtig geworden ist, wird er bedeutungsschwanger die Welt erorbern.", "Jupiter", true, new Date(), TableExample.getImageRegistry().get("keyboard")));
        model.addRow(new DummyRow("r4", "wewe we wew e we we we w ewe", "Uranus", true, new Date()));
        model.addRow(new DummyRow("r5", "sdjg sd jhgd dsh hjsgfjhgdf", "Pluto", true, new Date()));
        model.addRow(new DummyRow("r6", "wewe we wew e we we we w ewe", "Earth", true, new Date()));
        model.addRow(new DummyRow("r7", "wewe we wew e we we we w ewe", "Mars", false, new Date()));
        model.addRow(new DummyRow("r8", "wewe we wew e we we we w ewe", "Sun", false, new Date()));
        model.addRow(new DummyRow("r9", "wewe we wew e we we we w ewe", "Earth", true, new Date()));
        model.addRow(new DummyRow("ra", "wewe we wew e we we we w ewe", "Saturn", true, new Date()));
        model.addRow(new DummyRow("rb", "wewe we wew e we we we w ewe", "Saturn", true, new Date()));
        model.addRow(new DummyRow("rc", "wewe we wew e we we we w ewe", "Pluto", true, new Date()));
        model.addRow(new DummyRow("rd", "wewe we wew e we we we w ewe", "Jupiter", true, new Date()));
        model.addRow(new DummyRow("re", "This is the last row in the sort order of the model!", "Mars", true, new Date()));
        IColumn ct1 = new PropCol("t1", "column 1", "T1");
        model.addColumn(ct1);
        model.addColumn(new PropCol("d1", "Date", "D1"));
        model.addColumn(new PropCol("t2", "column 2", "T2"));
        model.addColumn(new PropCol("t3", "column 3", "T3"));
        model.addColumn(new PropCol("b1", "column 4", "B1"));
        model.addColumn(new PropCol("i1", "column 5", "Img"));
        model.addColumn(new PropCol("integer", "column 6", "Integer", Integer.class));
        model.addColumn(new PropCol("integer2", "Integer", "Integer", Integer.class));
        model.addColumn(new PropCol("integer3", "Smiley", "Integer", Integer.class));
        model.addColumn(new PropCol("Risk", "Risk", "Risk"));
        model.addColumn(new PropCol("RiskProb", "RProb", "RiskProb"));
        model.addColumn(new PropCol("RiskSeverity", "RSeverity", "RiskSeverity"));
        model.addColumn(new PropCol("Enum", "EnumTest", "EnumProperty"));
        model.addColumn(new PropCol("double", "Double", "Adouble"));
        model.addColumn(new PropCol("x1", "ComboEdit", "X1"));
        model.addColumn(new PropCol("Enum2", "EnumImage", "EnumProperty"));
        _tableModel = model;
    }
    DefaultCellStyle cs = (DefaultCellStyle) _jt.getTableViewState().getCellStyleProvider().getDefaultCellStyle().copy();
    cs.setHorizontalAlignment(ITableViewState.HAlignment.RIGHT);
    _jt.getTableViewState().getCellStyleProvider().setColumnCellStyle(_tableModel.getColumn(0), cs);
    _jt.getTableViewState().getCellStyleProvider().setColumnCellStyle(_tableModel.getColumn(7), cs);
    _jt.getTableViewState().getCellStyleProvider().setColumnCellStyle(_tableModel.getColumn(10), cs);
    _jt.registerCellRenderer(_tableModel.getColumn(2), new StyleTextCellRenderer("we", false));
    _jt.registerCellRenderer(_tableModel.getColumn(6), new BarCellRenderer());
    _jt.registerCellRenderer(_tableModel.getColumn(8), new SmileyCellRenderer());
    // risk renderer and editor
    _jt.registerCellRenderer(DummyRow.Risk.class, new RiskRenderer());
    _jt.registerCellEditor(DummyRow.Risk.class, new RiskCellEditor());
    // risk values 1 to 3
    _jt.registerCellEditor(_tableModel.getColumn(10), new IntegerCellEditor(1, 3));
    _jt.registerCellEditor(_tableModel.getColumn(11), new IntegerCellEditor(1, 3));
    ObjectImageRenderer oiRenderer = new ObjectImageRenderer();
    oiRenderer.addObjectRessourceNameMapping(DummyRow.TestEnum.ENUMVAL1, "1", "/de/jaret/examples/table/warning.gif");
    oiRenderer.addObjectRessourceNameMapping(DummyRow.TestEnum.ENUMVAL2, "2", "/de/jaret/examples/table/error.gif");
    oiRenderer.addObjectRessourceNameMapping(DummyRow.TestEnum.ENUMVAL3, "3", "/de/jaret/examples/table/information.gif");
    _jt.registerCellRenderer(_tableModel.getColumn(15), oiRenderer);
    List<Object> l = new ArrayList<Object>();
    l.add("first text");
    l.add("second text");
    l.add("third text");
    ObjectComboEditor oce = new ObjectComboEditor(l, null, true, "this is null");
    _jt.registerCellEditor(((DefaultJaretTableModel) _tableModel).getColumn("x1"), oce);
    _jt.setTableModel(_tableModel);
    // register autofilters
    _jt.registerAutoFilterForClass(Integer.class, SampleIntegerAutoFilter.class);
    _jt.registerAutoFilterForColumn(_tableModel.getColumn(2), SampleTextAutoFilter.class);
    JaretTableActionFactory af = new JaretTableActionFactory();
    MenuManager mm = new MenuManager();
    mm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_CONFIGURECOLUMNS));
    _jt.setHeaderContextMenu(mm.createContextMenu(_jt));
    MenuManager rm = new MenuManager();
    rm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_OPTROWHEIGHT));
    rm.add(af.createStdAction(_jt, JaretTableActionFactory.ACTION_OPTALLROWHEIGHTS));
    _jt.setRowContextMenu(rm.createContextMenu(_jt));
    TableControlPanel ctrlPanel = new TableControlPanel(_shell, SWT.NULL, _jt);
}
Also used : JaretTable(de.jaret.util.ui.table.JaretTable) DefaultJaretTableModel(de.jaret.util.ui.table.model.DefaultJaretTableModel) ArrayList(java.util.ArrayList) PropListeningTableModel(de.jaret.util.ui.table.model.PropListeningTableModel) JaretTableActionFactory(de.jaret.util.ui.table.util.action.JaretTableActionFactory) RiskCellEditor(de.jaret.examples.table.renderer.RiskCellEditor) GridLayout(org.eclipse.swt.layout.GridLayout) SmileyCellRenderer(de.jaret.util.ui.table.renderer.SmileyCellRenderer) IntegerCellEditor(de.jaret.util.ui.table.editor.IntegerCellEditor) ObjectImageRenderer(de.jaret.util.ui.table.renderer.ObjectImageRenderer) ObjectComboEditor(de.jaret.util.ui.table.editor.ObjectComboEditor) Date(java.util.Date) IColumn(de.jaret.util.ui.table.model.IColumn) DefaultCellStyle(de.jaret.util.ui.table.renderer.DefaultCellStyle) PropCol(de.jaret.util.ui.table.model.PropCol) GridData(org.eclipse.swt.layout.GridData) MenuManager(org.eclipse.jface.action.MenuManager) BarCellRenderer(de.jaret.util.ui.table.renderer.BarCellRenderer) RiskRenderer(de.jaret.examples.table.renderer.RiskRenderer)

Aggregations

JaretTable (de.jaret.util.ui.table.JaretTable)3 IColumn (de.jaret.util.ui.table.model.IColumn)3 JaretTableActionFactory (de.jaret.util.ui.table.util.action.JaretTableActionFactory)3 MenuManager (org.eclipse.jface.action.MenuManager)3 GridData (org.eclipse.swt.layout.GridData)3 GridLayout (org.eclipse.swt.layout.GridLayout)3 PropCol (de.jaret.util.ui.table.model.PropCol)2 RiskCellEditor (de.jaret.examples.table.renderer.RiskCellEditor)1 RiskRenderer (de.jaret.examples.table.renderer.RiskRenderer)1 IntegerCellEditor (de.jaret.util.ui.table.editor.IntegerCellEditor)1 ObjectComboEditor (de.jaret.util.ui.table.editor.ObjectComboEditor)1 DefaultHierarchicalTableModel (de.jaret.util.ui.table.model.DefaultHierarchicalTableModel)1 DefaultJaretTableModel (de.jaret.util.ui.table.model.DefaultJaretTableModel)1 HierarchyColumn (de.jaret.util.ui.table.model.HierarchyColumn)1 IHierarchicalJaretTableModel (de.jaret.util.ui.table.model.IHierarchicalJaretTableModel)1 ITableNode (de.jaret.util.ui.table.model.ITableNode)1 PropListeningTableModel (de.jaret.util.ui.table.model.PropListeningTableModel)1 StdHierarchicalTableModel (de.jaret.util.ui.table.model.StdHierarchicalTableModel)1 SimpleJaretTableModel (de.jaret.util.ui.table.model.simple.SimpleJaretTableModel)1 BarCellRenderer (de.jaret.util.ui.table.renderer.BarCellRenderer)1