com.smartgwt.client.core

## Interface LogicalStructure

- All Known Implementing Classes:
    AceEditor, ActiveXControl, AdaptiveMenu, AdvancedHiliteEditor, AISortProgressDialog, AIWindow, BaseWidget, 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, SavedSearchEditor, ScreenLoader, Scrollbar, SearchForm, SectionHeader, SectionStack, SelectionTreeMenu, SimpleTile, Slider, Snapbar, Sound, Splitbar, SplitPane, StatefulCanvas, StretchImg, StretchImgButton, SVG, TabBar, TableView, TabSet, TileGrid, TileLayout, TilePalette, Timeline, 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.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()`
    `void` | `initNativeObject()`
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.core.LogicalStructureObject s)`

- - ### Method Detail

    - #### initNativeObject

          void initNativeObject()

    - #### setLogicalStructure

          com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.core.LogicalStructureObject s)

    - #### getLogicalStructure

          com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()