com.smartgwt.client.core

## Interface LogicalStructure

- All Known Implementing Classes:
    ActiveXControl, AdvancedHiliteEditor, Applet, BaseWidget, BatchUploader, BrowserPlugin, Button, Calendar, Canvas, ColorPicker, ColumnTree, CubeGrid, DateChooser, DateGrid, DateRangeDialog, DetailViewer, Dialog, DrawPane, DynamicForm, EdgedCanvas, EventWindow, FacetChart, FieldPickerWindow, FilterBuilder, FilterClause, Flashlet, FlowLayout, Gauge, GridRenderer, HeaderControl, HiliteEditor, HiliteRule, HLayout, HStack, HTMLFlow, HTMLPane, IButton, IconButton, IconMenuButton, IMenuButton, Img, ImgButton, ImgSectionHeader, ImgSplitbar, ImgTab, Label, Layout, LayoutSpacer, ListGrid, Menu, MenuBar, MenuButton, MultiFilePicker, MultiGroupDialog, NavigationBar, NavigationButton, PortalLayout, Portlet, PrintCanvas, PrintWindow, Progressbar, PropertySheet, RangeSlider, RibbonBar, RibbonGroup, RichTextEditor, Scrollbar, SearchForm, SectionHeader, SectionStack, SimpleTile, Slider, Snapbar, Splitbar, SplitPane, StatefulCanvas, StretchImg, StretchImgButton, SVG, TabBar, TableView, TabSet, TileGrid, TileLayout, Timeline, Toolbar, ToolStrip, ToolStripButton, ToolStripGroup, ToolStripMenuButton, ToolStripResizer, ToolStripSeparator, TransferImgButton, TreeGrid, TreeMenuButton, ViewLoader, VLayout, VStack, WidgetCanvas, Window

      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

    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()