Search in sources :

Example 1 with OverviewPageElement

use of org.netxms.ui.eclipse.objectview.objecttabs.elements.OverviewPageElement in project netxms by netxms.

the class ObjectOverview method createTabContent.

/* (non-Javadoc)
	 * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#createTabContent(org.eclipse.swt.widgets.Composite)
	 */
@Override
protected void createTabContent(Composite parent) {
    scroller = new ScrolledComposite(parent, SWT.V_SCROLL);
    scroller.setExpandVertical(true);
    scroller.setExpandHorizontal(true);
    // FIXME: scroller.getVerticalBar().setIncrement(20);
    scroller.addControlListener(new ControlAdapter() {

        public void controlResized(ControlEvent e) {
            Rectangle r = scroller.getClientArea();
            scroller.setMinSize(viewArea.computeSize(r.width, SWT.DEFAULT));
            objectChanged(getObject());
        }
    });
    viewArea = new Composite(scroller, SWT.NONE);
    viewArea.setBackground(SharedColors.getColor(SharedColors.OBJECT_TAB_BACKGROUND, parent.getDisplay()));
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    viewArea.setLayout(layout);
    scroller.setContent(viewArea);
    leftColumn = new Composite(viewArea, SWT.NONE);
    leftColumn.setLayout(createColumnLayout());
    leftColumn.setBackground(SharedColors.getColor(SharedColors.OBJECT_TAB_BACKGROUND, parent.getDisplay()));
    GridData gd = new GridData();
    gd.verticalAlignment = SWT.TOP;
    gd.horizontalAlignment = SWT.FILL;
    gd.grabExcessHorizontalSpace = true;
    leftColumn.setLayoutData(gd);
    rightColumn = new Composite(viewArea, SWT.NONE);
    rightColumn.setLayout(createColumnLayout());
    rightColumn.setBackground(SharedColors.getColor(SharedColors.OBJECT_TAB_BACKGROUND, parent.getDisplay()));
    gd = new GridData();
    gd.verticalAlignment = SWT.TOP;
    gd.horizontalAlignment = SWT.LEFT;
    gd.grabExcessHorizontalSpace = true;
    gd.minimumWidth = SWT.DEFAULT;
    rightColumn.setLayoutData(gd);
    OverviewPageElement e = new GeneralInfo(leftColumn, null, this);
    elements.add(e);
    e = new LastValues(leftColumn, e, this);
    elements.add(e);
    e = new Commands(leftColumn, e, this);
    elements.add(e);
    e = new AvailabilityChart(leftColumn, e, this);
    elements.add(e);
    e = new ExternalResources(leftColumn, e, this);
    elements.add(e);
    e = new Comments(leftColumn, e, this);
    elements.add(e);
    e = new Capabilities(rightColumn, null, this);
    elements.add(e);
    e = new Connection(rightColumn, e, this);
    elements.add(e);
}
Also used : AvailabilityChart(org.netxms.ui.eclipse.objectview.objecttabs.elements.AvailabilityChart) ControlAdapter(org.eclipse.swt.events.ControlAdapter) Composite(org.eclipse.swt.widgets.Composite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) OverviewPageElement(org.netxms.ui.eclipse.objectview.objecttabs.elements.OverviewPageElement) Comments(org.netxms.ui.eclipse.objectview.objecttabs.elements.Comments) Rectangle(org.eclipse.swt.graphics.Rectangle) Connection(org.netxms.ui.eclipse.objectview.objecttabs.elements.Connection) GeneralInfo(org.netxms.ui.eclipse.objectview.objecttabs.elements.GeneralInfo) GridLayout(org.eclipse.swt.layout.GridLayout) Capabilities(org.netxms.ui.eclipse.objectview.objecttabs.elements.Capabilities) GridData(org.eclipse.swt.layout.GridData) LastValues(org.netxms.ui.eclipse.objectview.objecttabs.elements.LastValues) Commands(org.netxms.ui.eclipse.objectview.objecttabs.elements.Commands) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) ControlEvent(org.eclipse.swt.events.ControlEvent) ExternalResources(org.netxms.ui.eclipse.objectview.objecttabs.elements.ExternalResources)

Example 2 with OverviewPageElement

use of org.netxms.ui.eclipse.objectview.objecttabs.elements.OverviewPageElement in project netxms by netxms.

the class ObjectOverview method objectChanged.

/* (non-Javadoc)
	 * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#objectChanged(org.netxms.client.objects.AbstractObject)
	 */
@Override
public void objectChanged(AbstractObject object) {
    viewArea.setRedraw(false);
    for (OverviewPageElement element : elements) {
        if ((object != null) && element.isApplicableForObject(object)) {
            element.setObject(object);
        } else {
            element.dispose();
        }
    }
    for (OverviewPageElement element : elements) element.fixPlacement();
    viewArea.layout(true, true);
    viewArea.setRedraw(true);
    Rectangle r = scroller.getClientArea();
    scroller.setMinSize(viewArea.computeSize(r.width, SWT.DEFAULT));
    Point s = viewArea.getSize();
    viewArea.redraw(0, 0, s.x, s.y, true);
}
Also used : OverviewPageElement(org.netxms.ui.eclipse.objectview.objecttabs.elements.OverviewPageElement) Rectangle(org.eclipse.swt.graphics.Rectangle) Point(org.eclipse.swt.graphics.Point)

Aggregations

Rectangle (org.eclipse.swt.graphics.Rectangle)2 OverviewPageElement (org.netxms.ui.eclipse.objectview.objecttabs.elements.OverviewPageElement)2 ScrolledComposite (org.eclipse.swt.custom.ScrolledComposite)1 ControlAdapter (org.eclipse.swt.events.ControlAdapter)1 ControlEvent (org.eclipse.swt.events.ControlEvent)1 Point (org.eclipse.swt.graphics.Point)1 GridData (org.eclipse.swt.layout.GridData)1 GridLayout (org.eclipse.swt.layout.GridLayout)1 Composite (org.eclipse.swt.widgets.Composite)1 AvailabilityChart (org.netxms.ui.eclipse.objectview.objecttabs.elements.AvailabilityChart)1 Capabilities (org.netxms.ui.eclipse.objectview.objecttabs.elements.Capabilities)1 Commands (org.netxms.ui.eclipse.objectview.objecttabs.elements.Commands)1 Comments (org.netxms.ui.eclipse.objectview.objecttabs.elements.Comments)1 Connection (org.netxms.ui.eclipse.objectview.objecttabs.elements.Connection)1 ExternalResources (org.netxms.ui.eclipse.objectview.objecttabs.elements.ExternalResources)1 GeneralInfo (org.netxms.ui.eclipse.objectview.objecttabs.elements.GeneralInfo)1 LastValues (org.netxms.ui.eclipse.objectview.objecttabs.elements.LastValues)1