Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0
    • Component/s: framework
    • Labels:
      None
    • Number of attachments :
      0

      Description

      We are interest in refactoring the current dashboard API to provide a simpler but more powerful way of writting and assembling dashboard.

        Activity

        Hide
        Tony Lam added a comment -

        Technical details:

        • Allow user to specify layout and change on-fly.
        • No special subclassing or interface for widget to be including in dashboard. The only requirement is widget must have same constructor as SWT widget.
        • Support intercommunication bewteen widget using publish/subscribe pattern.
        Show
        Tony Lam added a comment - Technical details: Allow user to specify layout and change on-fly. No special subclassing or interface for widget to be including in dashboard. The only requirement is widget must have same constructor as SWT widget. Support intercommunication bewteen widget using publish/subscribe pattern.
        Hide
        Tony Lam added a comment -

        We use MigLayout (http://www.miglayout.com/) to provide layout management, because it is dynamic and can be set by pure string.

        Show
        Tony Lam added a comment - We use MigLayout ( http://www.miglayout.com/ ) to provide layout management, because it is dynamic and can be set by pure string.
        Hide
        Tony Lam added a comment -

        Example XML:

        <?xml version="1.0" encoding="UTF-8"?>
        <dashboard title="Dashboard">

        <!-- Include normal SWT control in dashboard -->
        <widget classname="org.eclipse.swt.widgets.Button">
        <parameters>
        <text>Hello</text>
        </parameters>
        </widget>

        <!-- Set style bit -->
        <widget classname="org.eclipse.swt.widgets.Button" style="32">
        <parameters>
        <text>Hello</text>
        </parameters>
        </widget>

        <!-- Customise appearance -->
        <widget classname="org.eclipse.swt.widgets.Button" style="32" hideTitleBar="true" layoutData="wrap">
        <parameters>
        <text>Hello</text>
        </parameters>
        </widget>

        <!-- A text edit widget -->
        <widget classname="org.gumtree.dashboard2.ui.widgets.TextEditor" id="textWidget">
        </widget>

        <!-- Listen to above widget -->
        <widget classname="org.gumtree.dashboard2.ui.widgets.TextDisplay" listenToWidgets="textWidget">
        </widget>

        <!-- Listen to widget 4-->
        <widget classname="org.gumtree.dashboard2.ui.widgets.TextDisplay" listenToWidgets="textWidget" layoutData="wrap">
        </widget>

        <!-- Browser -->
        <widget classname="org.gumtree.dashboard2.ui.widgets.BrowserWidget" layoutData="span, grow">
        <parameters>
        <url>http://maps.google.com&lt;/url>
        </parameters>
        </widget>
        </dashboard>

        Show
        Tony Lam added a comment - Example XML: <?xml version="1.0" encoding="UTF-8"?> <dashboard title="Dashboard"> <!-- Include normal SWT control in dashboard --> <widget classname="org.eclipse.swt.widgets.Button"> <parameters> <text>Hello</text> </parameters> </widget> <!-- Set style bit --> <widget classname="org.eclipse.swt.widgets.Button" style="32"> <parameters> <text>Hello</text> </parameters> </widget> <!-- Customise appearance --> <widget classname="org.eclipse.swt.widgets.Button" style="32" hideTitleBar="true" layoutData="wrap"> <parameters> <text>Hello</text> </parameters> </widget> <!-- A text edit widget --> <widget classname="org.gumtree.dashboard2.ui.widgets.TextEditor" id="textWidget"> </widget> <!-- Listen to above widget --> <widget classname="org.gumtree.dashboard2.ui.widgets.TextDisplay" listenToWidgets="textWidget"> </widget> <!-- Listen to widget 4--> <widget classname="org.gumtree.dashboard2.ui.widgets.TextDisplay" listenToWidgets="textWidget" layoutData="wrap"> </widget> <!-- Browser --> <widget classname="org.gumtree.dashboard2.ui.widgets.BrowserWidget" layoutData="span, grow"> <parameters> <url> http://maps.google.com&lt;/url > </parameters> </widget> </dashboard>
        Hide
        Tony Lam added a comment -

        See plugin: org.gumtree.dashboard2.ui

        Show
        Tony Lam added a comment - See plugin: org.gumtree.dashboard2.ui

          People

          • Assignee:
            Tony Lam
            Reporter:
            Tony Lam
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: