Interface LogicalStructure

All Known Implementing Classes:
AceEditor, ActiveXControl, AdaptiveMenu, AdvancedHiliteEditor, AISortProgressDialog, AIWindow, BaseWidget, BatchUploader, BatchUploader, BatchUploader, BrowserPlugin, BuildUIViaAIProgressDialog, BuildViaAIProgressDialog, Button, Calendar, CalendarView, Canvas, ColorPicker, ColumnTree, CSSEditor, CubeGrid, DataView, DateChooser, DateGrid, DateRangeDialog, Deck, DetailViewer, Dialog, DrawBlockConnector, DrawCurve, DrawDiamond, DrawGroup, DrawImage, DrawItem, DrawKnob, DrawLabel, DrawLine, DrawLinePath, DrawOval, DrawPane, DrawPath, DrawPolygon, DrawRect, DrawSector, DrawShape, DrawTriangle, DynamicForm, EdgedCanvas, EditPane, EditSearchWindow, EditTree, EventCanvas, FacetChart, FieldPicker, FieldPickerWindow, FilterBuilder, FilterClause, FilterViaAIProgressDialog, Flashlet, FlowLayout, Gauge, GradientEditor, GridRenderer, HeaderControl, HiliteEditor, HiliteRule, HiliteViaAIProgressDialog, HLayout, HStack, HTMLFlow, HTMLPane, IButton, IconButton, IconMenuButton, IMenuButton, Img, ImgButton, ImgSectionHeader, ImgSplitbar, ImgTab, IndicatorCanvas, Label, Layout, LayoutSpacer, ListGrid, ListPalette, ListPropertiesDialog, ListPropertiesPane, Menu, MenuBar, MenuButton, MenuPalette, MiniNavControl, MultiFilePicker, MultiGroupDialog, MultiGroupPanel, MultiSortDialog, MultiSortPanel, NavigationBar, NavigationButton, NavPanel, PickListMenu, PointerSettings, PortalLayout, Portlet, PrintCanvas, PrintWindow, Progressbar, PropertySheet, RangeSlider, RecordEditor, Reify, RibbonBar, RibbonButton, RibbonGroup, RibbonMenuButton, RichTextEditor, RowRangeDisplay, SavedSearchEditor, ScreenLoader, Scrollbar, SearchForm, SectionHeader, SectionStack, SelectionTreeMenu, SeleneseRecorder, Shuttle, SimpleTile, Slider, Snapbar, Sound, Splitbar, SplitPane, StatefulCanvas, StretchImg, StretchImgButton, SVG, TabBar, TableView, TabSet, TileGrid, TileLayout, TilePalette, Timeline, ToggleSwitch, Toolbar, ToolStrip, ToolStripButton, ToolStripGroup, ToolStripMenuButton, ToolStripResizer, ToolStripSeparator, ToolStripSpacer, TourWindow, TransferImgButton, TreeGrid, TreeMenuButton, TreePalette, ViewLoader, VLayout, VStack, WidgetCanvas, Window, ZoneCanvas

public interface LogicalStructure

SmartGWT classes implementing

LogicalStructure
allow their JavaScript state to be viewed in an Eclipse Java debugging environment, using Eclipse's logical structure facility. To use this:

  • In Eclipse, open the Preferences dialog, and navigate to the "Logical Structures" page (Java->Debug->Logical Structures). Add two new entries:
    1. Qualified type name:
      com.smartgwt.client.core.LogicalStructure

      Description: SmartGWT LogicalStructure
      Applies to subtypes: Checked
      Structure type: Single value
      Code:
      this.initNativeObject(); return this;
    2. Qualified type name:
      com.smartgwt.client.core.NativeObject

      Description: SmartGWT NativeObject
      Applies to subtypes: Checked
      Structure type: Single value
      Code:
      return this.o.getLogicalStructure();
  • Debug your SmartGWT application in Eclipse as you normally would.
  • When viewing variables structurally (e.g., in the "Variables" or "Expressions" view, or when hovering over a variable), objects implementing LogicalStructure will have a
    nativeObject
    field, the contents of which are described below:
    • The
      scClassName
      field contains the underlying SmartClient class name for the object.
    • The documented attributes for the SmartClient class, and its superclasses, are displayed as separate fields.
    • nativeObject
      field values are always cast to Strings in JavaScript, unless the field is a class which implements
      LogicalStructure
      , or is an array thereof (e.g.
      Layout.members
      ). In that case, the value of the field is the underlying SmartGWT object, which in turn has its own
      nativeObject
      field, etc.
    • The
      logicalStructureErrors
      field is a string describing all of the runtime errors encountered when displaying other
      nativeObject
      fields.
    • A
      null
      value for a
      nativeObject
      field may indicate any of the following:
      • The underlying JavaScript attribute is undefined.
      • The underlying JavaScript attribute is defined, but set to
        null
        .
      • An error occurred while attempting to read the attribute, which would be documented in the value of
        logicalStructureErrors
        .

    For more information on the JavaScript state of SmartGWT objects, consult the SmartClient documentation.