From 74bca8e64d710661cceb5237cb61de9706c50845 Mon Sep 17 00:00:00 2001 From: Patrick Ziegler Date: Wed, 24 Dec 2025 18:12:23 +0100 Subject: [PATCH] Migrate Swing Documentation from HTML to AsciiDoc Contributes to https://github.com/eclipse-windowbuilder/windowbuilder/issues/642 --- .../create_data_binding_wizard.adoc | 104 ++++++ .../edit_data_binding_dialog.adoc | 60 +++ .../features/swing/data_binding/example.adoc | 103 ++++++ .../features/swing/data_binding/index.adoc | 91 +++++ .../swing/data_binding/swing_bindings.adoc | 113 ++++++ .../features/swing_code_generation.adoc | 177 +++++++++ .../layoutmanagers/swing/absolutelayout.adoc | 76 ++++ .../layoutmanagers/swing/borderlayout.adoc | 48 +++ .../layoutmanagers/swing/boxlayout.adoc | 90 +++++ .../layoutmanagers/swing/cardlayout.adoc | 33 ++ .../layoutmanagers/swing/flowlayout.adoc | 44 +++ .../layoutmanagers/swing/gridlayout.adoc | 49 +++ .../layoutmanagers/swing/grouplayout.adoc | 108 ++++++ .../html-src/layoutmanagers/swing/index.adoc | 40 ++ .../swing/jgoodies_formlayout.adoc | 260 +++++++++++++ .../layoutmanagers/swing/miglayout.adoc | 217 +++++++++++ .../layoutmanagers/swing/springlayout.adoc | 74 ++++ .../html-src/palettes/swing_palette.adoc | 163 +++++++++ .../html-src/preferences/swing/index.adoc | 55 +++ .../swing/preferences_absolute.adoc | 66 ++++ .../swing/preferences_code_generation.adoc | 187 ++++++++++ .../swing/preferences_event_handlers.adoc | 94 +++++ .../swing/preferences_gridbaglayout.adoc | 2 +- .../preferences_jgoodies_formlayout.adoc | 30 ++ .../swing/preferences_layouts.adoc | 36 ++ .../swing/preferences_lookandfeel.adoc | 55 +++ .../swing/preferences_miglayout.adoc | 30 ++ .../preferences/swing/preferences_nls.adoc | 29 ++ .../swing/preferences_variables.adoc | 65 ++++ .../properties/property_editor_border.adoc | 171 +++++++++ .../property_editor_combobox_model.adoc | 12 + .../property_editor_key_stroke.adoc | 12 + .../properties/property_editor_label_for.adoc | 12 + .../property_editor_list_model.adoc | 12 + .../property_editor_spinner_model.adoc | 19 + .../property_editor_table_model.adoc | 13 + .../property_editor_tree_model.adoc | 12 + .../create_data_binding_wizard.html | 149 -------- .../edit_data_binding_dialog.html | 104 ------ .../features/swing/data_binding/example.html | 168 --------- .../features/swing/data_binding/index.html | 109 ------ .../swing/data_binding/swing_bindings.html | 144 -------- .../html/features/swing_code_generation.html | 185 ---------- .../layoutmanagers/swing/absolutelayout.html | 129 ------- .../layoutmanagers/swing/borderlayout.html | 75 ---- .../html/layoutmanagers/swing/boxlayout.html | 151 -------- .../html/layoutmanagers/swing/cardlayout.html | 62 ---- .../html/layoutmanagers/swing/flowlayout.html | 72 ---- .../html/layoutmanagers/swing/gridlayout.html | 81 ----- .../layoutmanagers/swing/grouplayout.html | 165 --------- .../html/layoutmanagers/swing/index.html | 51 --- .../swing/jgoodies_formlayout.html | 344 ------------------ .../html/layoutmanagers/swing/miglayout.html | 314 ---------------- .../layoutmanagers/swing/springlayout.html | 112 ------ .../html/palettes/swing_palette.html | 270 -------------- .../html/preferences/swing/index.html | 56 --- .../swing/preferences_absolute.html | 47 --- .../swing/preferences_code_generation.html | 198 ---------- .../swing/preferences_event_handlers.html | 109 ------ .../preferences_jgoodies_formlayout.html | 27 -- .../swing/preferences_layouts.html | 37 -- .../swing/preferences_lookandfeel.html | 58 --- .../swing/preferences_miglayout.html | 28 -- .../preferences/swing/preferences_nls.html | 28 -- .../swing/preferences_variables.html | 81 ----- .../properties/property_editor_border.html | 230 ------------ .../property_editor_combobox_model.html | 25 -- .../property_editor_key_stroke.html | 25 -- .../properties/property_editor_label_for.html | 25 -- .../property_editor_list_model.html | 25 -- .../property_editor_spinner_model.html | 34 -- .../property_editor_table_model.html | 27 -- .../property_editor_tree_model.html | 26 -- 73 files changed, 2761 insertions(+), 3772 deletions(-) create mode 100644 org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/create_data_binding_wizard.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/edit_data_binding_dialog.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/example.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/index.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/swing_bindings.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/features/swing_code_generation.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/absolutelayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/borderlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/boxlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/cardlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/flowlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/gridlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/grouplayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/index.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/jgoodies_formlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/miglayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/springlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/palettes/swing_palette.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/index.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_absolute.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_code_generation.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_event_handlers.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_jgoodies_formlayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_layouts.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_lookandfeel.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_miglayout.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_nls.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_variables.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_border.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_combobox_model.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_key_stroke.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_label_for.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_list_model.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_spinner_model.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_table_model.adoc create mode 100644 org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_tree_model.adoc delete mode 100644 org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/create_data_binding_wizard.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/edit_data_binding_dialog.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/example.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/index.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/swing_bindings.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/features/swing_code_generation.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/absolutelayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/borderlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/boxlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/cardlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/flowlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/gridlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/grouplayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/index.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/jgoodies_formlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/miglayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/springlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/palettes/swing_palette.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/index.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_absolute.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_code_generation.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_event_handlers.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_jgoodies_formlayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_layouts.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_lookandfeel.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_miglayout.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_nls.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_variables.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_border.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_combobox_model.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_key_stroke.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_label_for.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_list_model.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_spinner_model.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_table_model.html delete mode 100644 org.eclipse.wb.swing.doc.user/html/properties/property_editor_tree_model.html diff --git a/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/create_data_binding_wizard.adoc b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/create_data_binding_wizard.adoc new file mode 100644 index 000000000..683f58662 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/create_data_binding_wizard.adoc @@ -0,0 +1,104 @@ +ifdef::env-github[] +:imagesdir: ../../../../html/features/swing/data_binding +endif::[] + += Create Data Binding Wizard + +The tool provides two ways to quickly create new Data Bindings: the *Data Bindings* menu and the *bindings property* in +the property pane. + +[cols="50%,50%", options="header"] +|=== +| +Data Binding Menu +| +Bindings Property +| +The *Data Bindings* menu provides the ability to quickly create a data binding for a widget. If the widget does not have +any data bindings, the menu immediately cascades out to show the available properties of the widget that can be bound to +a model property. If the widget has existing data bindings, those are shown at the top of the cascaded menu and a list +of widget properties is shown in a submenu. Clicking on an unbound property will open the *Create Data Binding* wizard. +| +The *bindings property* in the property pane opens up to show a list of all bindable properties of the widget. Clicking +the image:images/dot-dot-dot-button.gif[image] button next to an unbound property will open the *Create Data Binding* +wizard. +a| +image:images/data_binding_menu.gif[image] +a| +image:images/data_binding_property_pane1.gif[image] +|=== + +== Choose Model + +The first page of the *Create Data Binding* wizard is used to select the model and property to bind the selected target +property to. Two types of targets and models are supported: +image:images/data_binding_beans_button.gif[image] *Beans* and image:images/data_binding_widgets_button.gif[image] +*Widgets*. The filter field above the list can be used to filter the list of items. The +image:images/clear_filter_button.gif[image] clear button can be used to clear the filter and restore the full list. + +[cols="50%, 50%"] +|=== +.2+a| +image:images/create_data_binding1.gif[image] +a| +- image:images/data_binding_beans_button.gif[image] *Beans*: any field of the current compilation unit may be selected. + +image:images/create_data_binding_model_beans.gif[image] + +a| +- *image:images/data_binding_widgets_button.gif[image] Widgets*: any widget in the current compilation unit may be +selected. + +image:images/create_data_binding_model_widgets.gif[image] +|=== + +When any *Model* object is selected, its properties (bean fields or standard Swing widget properties) are shown in the +associated *Properties* list. Properties may be expanded to show their nested attributes. A drop down filter menu is +available to filter the Property list by type and hide or show the advanced properties. Supported filters are *String*, +*Boolean*, *Numbers*, *Color*, *Font* and *Image*. + +-- +image:images/properties.gif[image] +image:images/properties_expanded.gif[image] +image:images/properties_filtered.gif[image] +image:images/properties_advanced.gif[image] +image:images/filter_button.gif[image] +-- + +Once the model property has been selected, click the *Finish* button to create a new data binding using default options. +If you wish to customize the properties of the data binding, click the *Next* button to go to the second page of the +wizard. + +== Properties + +The second page of the *Create Data Binding* wizard is used to customize the properties of the data binding itself. When +creating a binding, the update strategy from *target to model* and *model to target* may be specified as well as any +strategy-specific properties (validators and converters). + +[cols="50%,50%"] +|=== +.2+a| +image:images/create_data_binding2.gif[image] +a| +When the Target or Model is a Text widget and the text property is selected, the triggering event may be specified as +*Swing.Modify*, *Swing.FocusOut* or *Swing.NONE*. + +image:images/text_events.gif[image] +a| +Predefined update value strategies - *READ_ONCE*, *READ* and *READ_WRITE* - may be selected. + +image:images/update_value_strategy.gif[image] +|=== + +== Source + +Clicking the *Finish* button will generate the necessary data binding code which may then be seen in the *Source* view. +An *initDataBindings()* method is created, if it does not already exist and a call to that method is added to the end of +the widget creation process. Within the *initDataBindings()* method, any needed bean properties are created followed by +the creation of each binding. + +image:images/data_binding_source2.gif[image] + +WARNING: _do not edit the *initDataBinding()* method by hand (without carefully matching the code generation pattern +used by the tool) as it will be regenerated in its entirety any time the tool needs to add, remove or update a data +binding._ \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/edit_data_binding_dialog.adoc b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/edit_data_binding_dialog.adoc new file mode 100644 index 000000000..c5bffd826 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/edit_data_binding_dialog.adoc @@ -0,0 +1,60 @@ +ifdef::env-github[] +:imagesdir: ../../../../html/features/swing/data_binding +endif::[] + += Edit Data Binding Dialog + +The tool provides two ways to quickly edit existing Data Bindings: the *Data Bindings* menu and the *bindings property* +in the property pane. + +[cols="50%,50%", options="header"] +|=== +| Data Binding Menu +| Bindings Property +a| +The *Data Bindings* menu provides the ability to quickly edit a data binding for a widget. If the widget has existing +data bindings, those are shown at the top of the cascaded menu and a list of widget properties is shown in a submenu. +Clicking on a bound property will open the *Edit Data Binding* dialog. +a| +The *bindings property* in the property pane opens up to show a list of all bindable properties of the widget. Clicking +the image:images/dot-dot-dot-button.gif[image] button next to a bound property will open the *Edit Data Binding* dialog. +| +image:images/data_binding_menu2.gif[image] +| +image:images/data_binding_property_pane2.gif[image] + +| +image:images/edit_data_binding1.gif[image] +a| +The *Edit Data Binding* dialog is used to customize the properties of the data binding itself. When editing a binding, +the update strategy from *target to model* and *model to target* may be specified as well as any strategy-specific +properties (validators and converters). + +When the Target or Model is a Text widget and the text property is selected, the triggering event may be specified as +*Swing.Modify*, *Swing.FocusOut* or *Swing.NONE*. + +image:images/text_events.gif[image] +| +image:images/edit_data_binding2.gif[image] +a| +Predefined update value strategies - *READ_ONCE*, *READ* and *READ_WRITE* - may be selected. + +image:images/update_value_strategy.gif[image] +|=== + +When binding to a **, a text field is provided where the expression may be entered. + +image:images/bind_properties_swing2.gif[image] + +== Source + +Clicking the *Finish* button will generate the necessary data binding code which may then be seen in the *Source* view. +An *initDataBindings()* method is created, if it does not already exist and a call the that method is added to the end +of the widget creation process. Within the *initDataBindings()* method, any needed bean properties are created followed +by the creation of each binding. + +image:images/data_binding_source2.gif[image] + +WARNING: _do not edit the *initDataBinding()* method by hand (without carefully matching the code generation pattern +used by the tool) as it will be regenerated in its entirety any time the tool needs to add, remove or update a data +binding._ \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/example.adoc b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/example.adoc new file mode 100644 index 000000000..a195735bf --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/example.adoc @@ -0,0 +1,103 @@ +ifdef::env-github[] +:imagesdir: ../../../../html/features/swing/data_binding +endif::[] + += Swing Data Binding Example + +As an example of how the the data binding tools can be used, consider the following *Phone Book* example. The phone book +manages a set of phone groups. Each phone group in turn holds onto one or more persons. For each person, various e-mail +and phone contact information is maintained. Editing a person's description should update the same data shown in the +list. The final code for the *Phone Book* project is available link:SwingBindingsTest.zip[here]. + +1. Use Designer to create the skeleton of the *JPhoneBook.java* class ++ +image:images/example1.gif[image] + +2. Create the following model classes: +- Class *Person* with properties: *name*, *email*, *phone*, *mobilePhone1*, *mobilePhone2* +- Class *PhoneGroup* with properties: *name*, *persons* +- Class *PhoneGroups* with properties: *groups* + +3. Add the following to the *JPhoneBook* class: ++ +[source,java] +---- +private PhoneGroups m_groups = new PhoneGroups(); +---- +And add some initial data: ++ +[source,java] +---- +PhoneGroup group1 = new PhoneGroup("Developer Team"); +m_groups.addGroup(group1); +group1.addPerson(new Person("Konstantin Scheglov", "kosta@nospam.com", "1234567890", "", "")); +group1.addPerson(new Person("Alexander Mitin", "mitin@nospam.com", "", "0987654321", "")); +group1.addPerson(new Person("Alexander Lobas", "lobas@nospam.com", "", "", "111-222-333-00")); +---- + +4. Set the content for the group viewer. Click the *Bindings* tab in the editor. Select *m_groupList* in the +*Targets (Widgets)* list, ** in the *Target Properties* list, select *m_groups* in the +image:images/data_binding_beans_button.gif[image] *Model (Beans)* list, and *groups* in the *Model Properties* list. ++ +image:../../../wizards/swing/images/data_binding_tab.gif[image] ++ +image:images/example2.gif[image] + +5. Click the image:images/binding_button.gif[image] *Bind* button to open the *Create Data Binding* dialog. +*m_groups.group* contains elements of type *PhoneGroup*, so select the type *PhoneGroup* and its ** +property. In the EL Expression field, type "$\{name} (\{$personCount})". Note that selecting the *name* property would +result in just the name of the group being displayed. You can use EL Expressions to create more complex results. In this +case, we can show the name plus the number of people in the group. ++ +image:images/example3.gif[image]image:images/example4.gif[image] + +6. Click *OK* to see *m_groups.groups* bound to *m_groupsList* in the table. You can also see that the detail binding +between *m_groupsList* and the *EL Expression* has also been created. ++ +image:images/example5.gif[image] + +7. Run the application to see that the list of phone groups is populated and that each group shows its person count. ++ +image:images/example6.gif[image] + + +8. Next we would like selecting a group to show all of its contained persons. Switch back to the *Bindings* tab. Select +the ** of the *m_personTable* in the *Target Widget* list and *m_groupList* and *selectedElement/persons* +in the *Model Widget* list and click the image:images/binding_button.gif[image] *Bind* button to open the +*Create Data Binding* dialog. ++ +image:images/example7.gif[image] image:images/example8.gif[image] + +9. We need to show the properties of a *Person* object in *m_personTable*, so click the *Add* button to add a table +column binding for each property (*name*, *email*, *phone*, *mobilePhone1* and *mobilePhone2*). You can order the +*Person* properties using the *<<* and *>>* buttons. ++ +image:images/example9.gif[image]image:images/example10.gif[image] + +10. Click *OK* twice and run the application. See that selecting a group now updates the *Persons* list. ++ +image:images/example11.gif[image] + +11. Switch back to the *Bindings* tab. Next we need to bind *selectedElement* of the *m_personTable* (a Person object) +into the various text editors. ++ +image:images/example12.gif[image] + +12. Select the first *Text* widget (*m_nameTextField*) and its *text* property and the *m_personTable* and its +*selectedElement/name* property. Click the image:images/binding_button.gif[image] *Bind* button to open the +*Create Data Binding* dialog. Leave everything set to the defaults and click the *OK* button. ++ +image:images/example13.gif[image] + +13. Bind each *selectedElement* property to its associated *Text* field. ++ +image:images/example14.gif[image] + +14. Run the application. See that selecting a group updates the *Persons* list and selecting a *Person* now updates each +of the *Text* fields. ++ +image:images/example15.gif[image] + +15. Also note that changing any of the data in the text fields immediately updates the data in the table. +*The magic of data binding!* ++ +image:images/example16.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/index.adoc b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/index.adoc new file mode 100644 index 000000000..3a779d852 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/index.adoc @@ -0,0 +1,91 @@ +ifdef::env-github[] +:imagesdir: ../../../../html/features/swing/data_binding +endif::[] + += Swing Data Binding + +NOTE: _In order to use Swing Data Binding (JSR 295), you must first add the Swing Data Binding jar +(e.g., beansbinding-1.2.1.jar) to your classpath._ + +The tool can create new *Data Bindings* in several different ways: + +- Click the xref:#DataBindingTab[*Bindings*] tab in the editor to created and edit the bindings. +- Right-clicking on a widget and selecting the xref:#DataBindingMenu[*Data Binding*] menu. +- Expanding the xref:#BindingsProperty[*bindings*] property in the property pane. +- Use the xref:#AutomaticWizard[*Swing Automatic Data Binding*] wizard to create a complete user interface from a domain + (bean) class. + +The tool will generate or update any necessary data binding code which may then be seen in the xref:#Source[*Source*] +view. + +Detailed link:example.html[data binding example] code is available link:SwingBindingsTest.zip[here]. + +[#DataBindingTab] +== Data Binding Tab + +Click the *Bindings* tab in the editor to created and edit data bindings. + +image:../../../wizards/swing/images/data_binding_tab.gif[image] + +image:../../../wizards/swing/images/automatic_data_binding8.gif[image] + +The *Bindings* tab supports the creation xref:swing_bindings.adoc[*JSR 295 Swing data bindings*]. + +[#DataBindingMenu] +== Data Binding Menu + +The *Data Bindings* menu provides the ability to quickly create or edit data bindings for a widget. If the widget does +not have any data bindings, the menu immediately cascades out to show the available properties of the widget that can be +bound to a model property. If the widget has existing data bindings, those are shown at the top of the cascaded menu +followed by a separator and a list of widget properties. Clicking on an unbound property will open the +xref:create_data_binding_wizard.adoc[*Create Data Binding*] wizard while clicking a bound property will open the +xref:edit_data_binding_dialog.adoc[*Edit Data Binding*] dialog. + +image:images/data_binding_menu.gif[image]. + +[#BindingsProperty] +== Bindings Property + +The *bindings property* in the property pane opens up to show a list of all bindable properties of the widget. Clicking +the image:images/dot-dot-dot-button.gif[image] button next to an unbound property will open the +xref:create_data_binding_wizard.adoc[*Create Data Binding*] wizard while clicking the +image:images/dot-dot-dot-button.gif[image] button next to a bound property will open the +xref:edit_data_binding_dialog.adoc[*Edit Data Binding*] dialog. + +image:images/data_binding_property_pane2.gif[image]. + +[#AutomaticWizard] +== Automatic Data Binding Wizard + +The xref:../../../wizards/swing/automatic_databinding.adoc[*Swing Automatic Data Binding*] wizard can be used to create +new user interface classes (Composites, Dialogs or Windows) complete with widgets, layouts and data bindings from +arbitrary domain model (bean) classes. + +-- +image:../../../wizards/swing/images/automatic_data_binding2.gif[image] +image:../../../wizards/swing/images/automatic_data_binding5.gif[image] +-- + +[#IconDecorator] +== Icon Decorator + +Any widget with a data binding assigned to will show up in the component tree with an icon decorator: +image:images/icon_decorator2.gif[image] +image:images/icon_decorator3.gif[image] + +image:images/icon_decorator.gif[image] + +[#Source] +== Source + +*The tool* will generate or update any necessary data binding code which may then be seen in the *Source* view. An +*initDataBindings()* method is created, if it does not already exist and a call to that method is added to the end of +the widget creation process. + +Within the *initDataBindings()* method, any needed bean properties are created followed by the creation of each binding. + +image:images/data_binding_source.gif[image] + +WARNING: _do not edit the *initDataBinding()* method by hand (without carefully matching the code generation pattern +used by the tool) as it will be regenerated in its entirety any time the tool needs to add, remove or update a data +binding._ \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/swing_bindings.adoc b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/swing_bindings.adoc new file mode 100644 index 000000000..d8b3044bf --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/features/swing/data_binding/swing_bindings.adoc @@ -0,0 +1,113 @@ +ifdef::env-github[] +:imagesdir: ../../../../html/features/swing/data_binding +endif::[] + += Swing Data Bindings + +Click the *Bindings* tab in the editor to created and edit data bindings. + +image:../../../wizards/swing/images/data_binding_tab.gif[image] + +image:../../../wizards/swing/images/automatic_data_binding8.gif[image] + +Swing uses simple bindings between targets and models. + +== Target & Model Types + +Two types of targets and models are supported: + +- image:images/data_binding_beans_button.gif[image] *Beans*: any field of the current compilation unit may be selected. + The filter field above the list can be used to filter the list of beans. The + image:images/clear_filter_button.gif[image] clear button can be used to clear the filter and restore the full list. + *Beans* are the primary data source for bindings (usually the model). Any property of the *Bean* may be observed. + Individual beans may also be expanded to reveal their direct sub properties. + + image:images/model_beans.gif[image] + image:images/model_beans_filtered.gif[image] + +- image:images/data_binding_widgets_button.gif[image] *Widgets*: any widget in the current compilation unit may be + selected. If a widget is not a field, it will be converted to a field automatically. The filter field above the list + can be used to filter the list of widgets. The image:images/clear_filter_button.gif[image] clear button can be used to + clear the filter and restore the full list. Any property of the *Widget* may be observed. + + image:images/target_widgets.gif[image] + image:images/target_widgets_filtered.gif[image] + +== Properties + +When any *Target* or *Model* object is selected, its properties (bean fields or standard Swing widget properties) are +shown in the associated *Properties* list. Properties may be expanded to show their nested attributes. A drop down +filter menu is available to filter the Property list by type and hide or show the advanced properties. Supported filters +are *String*, *Boolean*, *Numbers*, *Color*, *Font* and *Image*. + +-- +image:images/properties.gif[image] +image:images/properties_expanded.gif[image] +image:images/properties_filtered.gif[image] +image:images/properties_advanced.gif[image] +image:images/filter_button.gif[image] +-- + +== New Swing Bindings + +New bindings are created by selecting a *Target*, a *Target Property*, a *Source*, a *Source Property* and clicking the +image:images/binding_button.gif[image] *Bind* button. When creating a binding, the update strategy from +*target to model* and *model to target* may be specified as well as any strategy-specific properties (converter and +validator). + +image:images/bind_properties_swing1.gif[image] + +When the Target or Model is a Text widget and the text property is selected, the triggering event may be specified as +*Swing.Modify*, *Swing.FocusOut* or *Swing.NONE*. + +image:images/text_events.gif[image] + +Predefined update value strategies - *READ_ONCE*, *READ* and *READ_WRITE* - may be selected. + +image:images/update_value_strategy.gif[image] + +When binding to a **, a text field is provided where the expression may be entered. + +image:images/bind_properties_swing2.gif[image] + +When binding a JList to a collection of model objects, the detail of the model (what is shown in the list) can be +specified. + +image:images/example4.gif[image] + +When binding a JTable to a collection of model objects, column bindings may be added for each model object property. + +image:images/example8.gif[image] image:images/example10.gif[image] + +== Existing Swing Bindings + +At the top of the page, existing *Bound Properties* are listed. The *Target* and *Model* are shown as well as the +*Strategy* and the *Binding* variable name. + +image:images/bound_properties_swing.gif[image] + +Clicking the image:images/data_binding_edit_button.gif[image] *Edit* button or *Edit* menu opens the *Edit Binding* +dialog where the update strategy, converter and validator may be modified. + +image:images/edit_binding_swing.gif[image] + +The image:images/data_binding_delete_button.gif[image] *Delete* button or *Delete* menu is used to delete the selected +bound property while the image:images/data_binding_delete_all_button.gif[image] *Delete All* button or *Delete All* menu +is used to delete all of the bound properties. + +The image:images/data_binding_move_up_button.gif[image] *Move Up* and +image:images/data_binding_move_down_button.gif[image] *Move Down* buttons and menus are used to change the order of the +bindings while the image:images/data_binding_goto_definition_button.gif[image] *Goto Definition* button and menu are +used to jump to the generated code for the binding. + +== Source + +As bindings are created or edited on the Bindings tab, the necessary data binding code is generated which may then be +seen in the *Source* view. An *initDataBindings()* method is created, if it does not already exist and a call to that +method is added to the end of the widget creation process. + +Within the *initDataBindings()* method, any needed bean properties are created followed by the creation of each binding. + +image:images/data_binding_source.gif[image] + +WARNING: _do not edit the *initDataBinding()* method by hand (without carefully matching the code generation pattern +used by the tool) as it will be regenerated in its entirety any time the tool needs to add, remove or update a data +binding._ \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/features/swing_code_generation.adoc b/org.eclipse.wb.swing.doc.user/html-src/features/swing_code_generation.adoc new file mode 100644 index 000000000..6f699c681 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/features/swing_code_generation.adoc @@ -0,0 +1,177 @@ +ifdef::env-github[] +:imagesdir: ../../html/features/ +endif::[] + += Swing Code Generation + +*Swing Designer* supports a wide variety of code generation styles and can emulate most other Java GUI builders +including NetBeans, JBuilder, the Eclipse Visual Editor, etc. Choose a xref:#Variable[*Variable Generation*] style +(xref:#Local[*Local*], xref:#Field[*Field*], xref:#InitializedField[*Initialized Field*] or xref:#Lazy[*Lazy*]) and a +xref:#Statement[*Statement Generation*] style (xref:#Flat[*Flat*] or xref:#Block[*Block*]). Many of the styles have +additional options that can be set. Once any combination of settings is selected, you can see a preview of that code +generation style in the *Preview* pane. + +image:../preferences/swing/images/code_generation_method_name.gif[image] + +You can also specify in which method components will be created by default (in the event that a suitable method has not +already be defined for the current class). If the method does not exist, it will be created and a call to it added to +the constructor for the class. Various default choices are provided to match the code generation patterns of other GUI +builders. + +[#Variable] +== Variable generation + +*Swing Designer* supports several *Variable Generation* styles including xref:#Local[*Local*], xref:#Field[*Field*], +xref:#InitializedField[*Initialized Field*] or xref:#Lazy[*Lazy*]. + +==== [#Local]#Local# Variable Mode + +image:../preferences/swing/images/code_generation_local.gif[image] + +[#Local] +== Local Variable Mode + +image:images/code_generation_local.gif[image] + +In the *Local* variable generation style, each component is assigned to a unique local variable and initialized at the +point of declaration. An option is provided to declare each variable as *final*. Note that component types marked as +*As Field* on the xref:../preferences/swing/preferences_variables.adoc#TypeSpecific[*Variables > Type Specific*] +preference page will always be assigned to fields. + +[cols="50%,50%"] +|=== +a| +*Local Variables / Flat Mode* + +image:../preferences/swing/images/code_generation_local_source.gif[image] +a| +*Final Local Variables / Flat Mode* + +image:../preferences/swing/images/code_generation_local_source_final.gif[image] +a| +*Local Variables / Block Mode* + +image:../preferences/swing/images/code_generation_local_source_block.gif[image] +a| +*Final Local Variables / Block Mode* + +image:../preferences/swing/images/code_generation_local_source_final_block.gif[image] +|=== + +[#Field] +== Field Mode + +image:../preferences/swing/images/code_generation_field.gif[image] + +In the *Field* generation style, each component is assigned to a unique field and initialized at the point where it is +first used. An option is provided to prefix each field reference with *this*. + +[cols="50%,50%"] +|=== +a| +*Fields / Flat Mode* + +image:../preferences/swing/images/code_generation_field_source.gif[image] +a| +*This Fields / Flat Mode* + +image:../preferences/swing/images/code_generation_field_source_this.gif[image] +a| +*Fields / Block Mode* + +image:../preferences/swing/images/code_generation_field_source_block.gif[image] +a| +*This Fields / Block Mode* + +image:../preferences/swing/images/code_generation_field_source_this_block.gif[image] +|=== + +[#InitializedField] +== Initialized Field Mode + +image:../preferences/swing/images/code_generation_int_field.gif[image] + +In the *Initialized Field* generation style, each component is assigned to a unique field and initialized at the point +at the point of declaration. An option is provided to prefix each field reference with *this*. + +[cols="50%,50%"] +|=== +a| +*Initialized Fields / Flat Mode* + +image:../preferences/swing/images/code_generation_int_field_source.gif[image] +a| +*Initialized This Fields / Flat Mode* + +image:../preferences/swing/images/code_generation_int_field_source_this.gif[image] +a| +*Initialized Fields / Block Mode* + +image:../preferences/swing/images/code_generation_int_field_source_block.gif[image] +a| +*Initialized This Fields / Block Mode* + +image:../preferences/swing/images/code_generation_int_field_source_this_block.gif[image] +|=== + +[#Lazy] +== Lazy Mode + +image:images/code_generation_lazy.gif[image] + +In the *Lazy* generation style, each component is created in its own unique *getXXX()* method. An option is provided to +set the visibility modifier to *private*, *package private*, *protected* or *public*. + +[cols="50%,50%"] +|=== +a| +*Lazy Private Mode* + +image:../preferences/swing/images/code_generation_lazy_source.gif[image] +a| +*Lazy Public Mode* + +image:../preferences/swing/images/code_generation_lazy_source_public.gif[image] +|=== + +[#Statement] +== Statement generation + +*Swing Designer* supports *flat* mode and *block* mode generation modes. + +[cols="50%,50%"] +|=== +a| +[#Flat] +*Flat Mode* + +image:../preferences/swing/images/code_generation_flat.gif[image,width=298,height=147] + +In *flat* mode, each component is created in the same scope at the same indentation level. An option is provided to +prefix the creation of each component with either a blank line or a comment. + +a| +[#Block] +*Block Mode* + +image:../preferences/swing/images/code_generation_block.gif[image] + +In *block* mode, each component is created in its own scoped code block. Child components are created in nested blocks. + +a| +*Local Variables / Flat Mode* + +image:../preferences/swing/images/code_generation_local_source.gif[image] +a| +*Local Variables / Block Mode* + +image:../preferences/swing/images/code_generation_local_source_block.gif[image] +a| +*Fields / Flat Mode* + +image:../preferences/swing/images/code_generation_field_source.gif[image] +a| +*Fields / Block Mode* + +image:../preferences/swing/images/code_generation_field_source_block.gif[image] +|=== \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/absolutelayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/absolutelayout.adoc new file mode 100644 index 000000000..aaf17327b --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/absolutelayout.adoc @@ -0,0 +1,76 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing Absolute Layout + +*Absolute Layout* or *Null Layout* is a simple x,y oriented layout. During layout, the live component is shown moving +with a tooltip showing its current location or size. Dynamic snap / alignment points are provided to make it convenient +to align the component with other components or the window margin. Resizing a component also snaps to the preferred size +of the resized component or to the size (vertical or horizontal) of any other component on the same parent. + +- xref:#MainFeatures[Main Features] +- xref:#GraphicalFeedback[Graphical Feedback] +- xref:../../preferences/swing/preferences_absolute.adoc[Preferences] + +[#MainFeatures] +== Main Features + +- Select *Absolute Layout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/al_design_view.gif[image] + +- Graphical feedback is provided for all widget size and position +operations ++ +image:images/al_snap_baselines.gif[image] +image:images/al_snap_size1.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- Position and size widgets using snapping feedback ++ +image:images/al_snap_baselines2.gif[image] +image:images/al_snap_size1.gif[image] + +- Provide position and size feedback via tooltips ++ +image:images/al_snap_baselines.gif[image] +image:images/al_snap_size2.gif[image] + +- Align widgets horizontally and vertically ++ +image:images/al_snap_align_horizontal.gif[image] + +- Indent widgets intelligently ++ +image:images/al_snap_indent.gif[image] + +- Align widgets along text baselines ++ +image:images/al_snap_baselines.gif[image] +image:images/al_snap_baselines2.gif[image] + +- Align widgets to margins ++ +image:images/al_snap_margins.gif[image] + +- Replicate widget heights and widths ++ +image:images/al_snap_replicate_width.gif[image] +image:images/al_snap_replicate_height.gif[image] + +- Align widgets using optional grid ++ +image:images/al_grid_align.gif[image] + +- Align and center widgets using toolbar ++ +image:images/align_toolbar.gif[image] + +- Set alignment and size using floating layout assistant +- Set *size*, *location* and/or *bounds* properties using the *Property Pane*. ++ +image:images/al_properties.gif[image] +image:images/property_editor_rectangle3.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/borderlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/borderlayout.adoc new file mode 100644 index 000000000..a21c6bbfa --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/borderlayout.adoc @@ -0,0 +1,48 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing BorderLayout + +*BorderLayout* lays out a container, arranging and resizing its components to fit in five regions: *north*, *south*, +*east*, *west*, and *center*. Each region may contain no more than one component, and is identified by a corresponding +constant: *NORTH*, *SOUTH*, *EAST*, *WEST*, and *CENTER*. When adding a component to a container with a border layout, +use one of these five constants. As a convenience, *BorderLayout* interprets the absence of a string specification the +same as the constant *CENTER*. + +- xref:#MainFeatures[Main Features] +- xref:#GraphicalFeedback[Graphical Feedback] + +[#MainFeatures] +== Main Features + +- Select *BorderLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/bl_design_view.gif[image] + +- Graphical feedback is provided for all drop and move interactions ++ +image:images/bl_drop_west.gif[image] +image:images/bl_drop_center.gif[image] + +- Horizontal and vertical gaps can be specified using the *Property Pane*. ++ +image:images/bl_properties.gif[image] +image:images/bl_gaps.gif[image] + +- Constraints can be specified using the *Property Pane*. ++ +image:images/bl_constraints.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- When moving a widget or adding a new widget, open cells are highlighted green while the current drop point is +highlighted in yellow. ++ +image:images/bl_drop_center.gif[image] +image:images/bl_drop_east.gif[image] + +- Attempting to drop into an already occupied cell is blocked. ++ +image:images/bl_drop_blocked.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/boxlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/boxlayout.adoc new file mode 100644 index 000000000..a454ff231 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/boxlayout.adoc @@ -0,0 +1,90 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing BoxLayout + +*BoxLayout* allows multiple components to be laid out either vertically or horizontally. The components will not wrap +so, for example, a vertical arrangement of components will stay vertically arranged when the frame is resized. Nesting +multiple panels with different combinations of horizontal and vertical gives an effect similar to *GridBagLayout*, +without the complexity. The *BoxLayout* manager is constructed with an axis parameter that specifies the type of layout +that will be done. For all directions, components are arranged in the same order as they were added to the container. + +*BoxLayout* attempts to arrange components at their preferred widths (for horizontal layout) or heights (for vertical +layout). For a horizontal layout, if not all the components are the same height, *BoxLayout* attempts to make all the +components as high as the highest component. If that's not possible for a particular component, then *BoxLayout* aligns +that component vertically, according to the component's Y alignment. By default, a component has a Y alignment of 0.5, +which means that the vertical center of the component should have the same Y coordinate as the vertical centers of other +components with 0.5 Y alignment. Similarly, for a vertical layout, *BoxLayout* attempts to make all components in the +column as wide as the widest component. If that fails, it aligns them horizontally according to their X alignments. + +- xref:#MainFeatures[Main Features] +- xref:#GraphicalFeedback[Graphical Feedback] + +[#MainFeatures] +== Main Features + +- Select *BoxLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/boxl_design_view.gif[image] + +- Graphical feedback is provided for all drop and move interactions ++ +image:images/boxl_drop1.gif[image] image:images/boxl_move1.gif[image] + +- xref:../../palettes/swing_palette.adoc[*Struts & Springs* palette] gives easy access to struts, springs (glue), rigid +areas and boxes ++ +image:../../palettes/images/palette_swing_struts_springs.gif[image] + +- Graphically show area occupied by struts and springs (glue) ++ +image:images/boxl_struts_springs.gif[image] + +- Graphically resize struts and rigid areas via dragging ++ +image:images/boxl_strut_size1.gif[image] +image:images/boxl_strut_size2.gif[image] + +- Direct-edit (hit space bar) struts and rigid areas to resize them ++ +image:images/boxl_strut_direct_edit.gif[image] +image:images/boxl_strut_direct_edit2.gif[image] + +- Resize struts and rigid areas using the *Property Pane* ++ +image:images/boxl_properties2.gif[image] +image:images/boxl_strut_size2.gif[image] + +- Orientation can be specified using the *Property Pane* ++ +image:images/boxl_properties.gif[image] +image:images/boxl_axis.gif[image] + +- Widget alignment within the *BoxLayout* can be set using the *Property Pane* ++ +image:images/boxl_properties3.gif[image] + +- Note that struts and rigid areas can be used as invisible spacer objects in other layouts as well ++ +image:images/fl_strut.gif[image] +image:images/gl_strut.gif[image] ++ +image:images/bl_strut.gif[image] +image:images/jgfl_strut.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- When moving a widget or adding a new widget, the current drop point is highlighted in red ++ +image:images/boxl_drop1.gif[image] +image:images/boxl_drop2.gif[image] ++ +image:images/boxl_move1.gif[image] +image:images/boxl_move2.gif[image] + +- Resize struts and rigid areas by dragging or direct edit ++ +image:images/boxl_strut_size1.gif[image] +image:images/boxl_strut_direct_edit.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/cardlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/cardlayout.adoc new file mode 100644 index 000000000..794423398 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/cardlayout.adoc @@ -0,0 +1,33 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing CardLayout + +A *CardLayout* object is a layout manager for a container. It treats each component in the container as a card. Only one +card is visible at a time, and the container acts as a stack of cards. The first component added to a *CardLayout* +object is the visible component when the container is first displayed. The ordering of cards is determined by the +container's own internal ordering of its component objects. *CardLayout* defines a set of methods that allow an +application to flip through these cards sequentially, or to show a specified card. + +[#MainFeatures] +== Main Features + +- Select *CardLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/cl_design_view.gif[image] + +- When adding a new widget, the current drop point is highlighted in green ++ +image:images/cl_drop1.gif[image] +image:images/cl_drop2.gif[image] + +- Switch between cards using the up/down arrows in the upper right corner ++ +image:images/cl_switch1.gif[image] +image:images/cl_switch2.gif[image] + +- Horizontal and vertical margins can be specified using the *Property Pane* ++ +image:images/cl_properties.gif[image] +image:images/cl_gaps.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/flowlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/flowlayout.adoc new file mode 100644 index 000000000..266063d59 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/flowlayout.adoc @@ -0,0 +1,44 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing FlowLayout + +A *FlowLayout* arranges components in a directional flow, much like lines of text in a paragraph. *FlowLayouts* are +typically used to arrange buttons in a panel. It arranges buttons horizontally until no more buttons fit on the same +line. The line alignment is determined by the align property. + +- xref:#MainFeatures[Main Features] +- xref:#GraphicalFeedback[Graphical Feedback] + +[#MainFeatures] +== Main Features + +- Select *FlowLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/fl_design_view.gif[image] + +- Graphical feedback is provided for all drop and move interactions ++ +image:images/fl_drop1.gif[image] +image:images/fl_move1.gif[image] + +- Horizontal and vertical gaps can be specified using the *Property Pane* ++ +image:images/fl_properties1.gif[image] image:images/fl_gaps.gif[image] + +- Horizontal alignment can be specified using the *Property Pane* ++ +image:images/fl_properties2.gif[image] +image:images/fl_align_right.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- When moving a widget or adding a new widget, the current drop point is highlighted in red ++ +image:images/fl_drop1.gif[image] +image:images/fl_drop2.gif[image] ++ +image:images/fl_move1.gif[image] +image:images/fl_move2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/gridlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/gridlayout.adoc new file mode 100644 index 000000000..4924244f7 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/gridlayout.adoc @@ -0,0 +1,49 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing GridLayout + +The *GridLayout* class is a layout manager that lays out a container's components in a rectangular grid. The container +is divided into equal-sized rectangles, and one component is placed in each rectangle. When both the number of rows and +the number of columns have been set to non-zero values, either by a constructor or by the *setRows* and *setColumns* +methods, the number of columns specified is ignored. Instead, the number of columns is determined from the specified +number of rows and the total number of components in the layout. So, for example, if three rows and two columns have +been specified and nine components are added to the layout, they will be displayed as three rows of three columns. +Specifying the number of columns affects the layout only when the number of rows is set to zero. + +- xref:#MainFeatures[Main Features] +- xref:#GraphicalFeedback[Graphical Feedback] + +[#MainFeatures] +== Main Features + +- Select *GridLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/gl_design_view.gif[image] + +- Graphical feedback is provided for all drop and move interactions ++ +image:images/gl_drop1.gif[image] +image:images/gl_move1.gif[image] + +- Horizontal and vertical gaps can be specified using the *Property Pane* ++ +image:images/gl_properties1.gif[image] +image:images/gl_gaps.gif[image] + +- The number of columns and rows can be specified using the *Property Pane* ++ +image:images/gl_properties2.gif[image] +image:images/gl_columns.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- When moving a widget or adding a new widget, the current drop point is highlighted in red ++ +image:images/gl_drop1.gif[image] +image:images/gl_drop2.gif[image] ++ +image:images/gl_move1.gif[image] +image:images/gl_move2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/grouplayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/grouplayout.adoc new file mode 100644 index 000000000..517b3608b --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/grouplayout.adoc @@ -0,0 +1,108 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing GroupLayout + +*GroupLayout* is a LayoutManager that hierarchically groups components in order to position them in a Container. +*GroupLayout* is intended for use by builders, but may be hand-coded as well. Grouping is done by instances of the +*Group* class. *GroupLayout* supports two types of groups. A sequential group positions its child elements sequentially, +one after another. A parallel group aligns its child elements in one of four ways. + +Each group may contain any number of elements, where an element is a *Group*, *Component*, or gap. A gap can be thought +of as an invisible component with a minimum, preferred and maximum size. In addition GroupLayout supports a preferred +gap, whose value comes from *LayoutStyle*. + +Elements are similar to a spring. Each element has a range as specified by a minimum, preferred and maximum. Gaps have +either a developer-specified range, or a range determined by *LayoutStyle*. The range for Components is determined from +the Component's *getMinimumSize*, *getPreferredSize* and *getMaximumSize* methods. In addition, when adding Components +you may specify a particular range to use instead of that from the component. The range for a *Group* is determined by +the type of group. A *ParallelGroup's* range is the maximum of the ranges of its elements. A *SequentialGroup's* range +is the sum of the ranges of its elements. + +*GroupLayout* treats each axis independently. That is, there is a group representing the horizontal axis, and a group +representing the vertical axis. The horizontal group is responsible for determining the minimum, preferred and maximum +size along the horizontal axis as well as setting the x and width of the components contained in it. The vertical group +is responsible for determining the minimum, preferred and maximum size along the vertical axis as well as setting the y +and height of the components contained in it. Each Component must exist in both a horizontal and vertical group, +otherwise an *IllegalStateException* is thrown during layout, or when the minimum, preferred or maximum size is +requested. + +- xref:#MainFeatures[*Main Features*] +- xref:#GraphicalFeedback[*Graphical Feedback*] + +[#MainFeatures] +== Main Features + +- Select *GroupLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/group_design_view.gif[image] + +- Graphical feedback is provided for all widget size and position operations ++ +image:images/group_indent1.gif[image] +image:images/group_align2.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- Position and size widgets using GroupLayout constraints ++ +image:images/group_align3.gif[image] +image:images/group_align4.gif[image]E + +- Align widgets horizontally and vertically ++ +image:images/group_align1.gif[image] +image:images/group_align2.gif[image] + +- Indent widgets intelligently ++ +image:images/group_indent1.gif[image] +image:images/group_indent2.gif[image] + +- Insert widgets intelligently ++ +image:images/group_insert1.gif[image] +image:images/group_insert2.gif[image] + +- Align widgets along text baselines ++ +image:images/group_baseline1.gif[image] +image:images/group_baseline2.gif[image] + +- Align widgets to margins ++ +image:images/group_margin1.gif[image] +image:images/group_margin2.gif[image] + +- Anchor widgets to the left, right or both sides ++ +image:images/group_anchor1.gif[image] +image:images/group_anchor2.gif[image] +image:images/group_anchor3.gif[image] + +- Anchor widgets to the top, bottom or both sides ++ +image:images/group_anchor1.gif[image] +image:images/group_anchor4.gif[image] +image:images/group_anchor5.gif[image] + +- Set anchors via popup context menus ++ +image:images/group_anchor6.gif[image] +image:images/group_anchor7.gif[image] + +- Set widget anchoring and resizing via context menu ++ +image:images/group_menu_anchor.gif[image] +image:images/group_menu_resizing.gif[image] + +- Align and center widgets using toolbar ++ +image:images/align_toolbar.gif[image] + +- Set alignment, size and spacing using floating layout assistant ++ +image:images/group_layout_assistant1.gif[image] +image:images/group_layout_assistant2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/index.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/index.adoc new file mode 100644 index 000000000..dec4feb6d --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/index.adoc @@ -0,0 +1,40 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing Designer Layout Managers + +*Swing Designer* supports the following layout managers. + +[cols="^25%,^25%,^25%,^25%"] +|=== +a| xref:absolutelayout.adoc[*Absolute Layout*] +a| xref:flowlayout.adoc[*FlowLayout*] +a| xref:borderlayout.adoc[*BorderLayout*] +a| xref:gridlayout.adoc[*GridLayout*] + +a| image:images/al_small.gif[image] +a| image:images/fl_small.gif[image] +a| image:images/bl_small.gif[image] +a| image:images/gl_small.gif[image] + +a| xref:gridbaglayout.adoc[*GridBagLayout*] +a| xref:cardlayout.adoc[*CardLayout*] +a| xref:springlayout.adoc[*SpringLayout*] +a| xref:grouplayout.adoc[*GroupLayout*] + +a| image:images/gbl_small.gif[image] +a| image:images/cl_small.gif[image] +a| image:images/sl_small.gif[image] +a| image:images/group_small.gif[image] + +a| xref:boxlayout.adoc[*BoxLayout] +a| xref:jgoodies_formlayout.adoc[*JGoodies FormLayout*] +a| xref:miglayout.adoc[*MiGLayout*] +a| + +a| image:images/boxl_small.gif[image] +a| image:images/jgfl_small.gif[image] +a| image:images/mig_small.gif[image] +a| +|=== \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/jgoodies_formlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/jgoodies_formlayout.adoc new file mode 100644 index 000000000..989574244 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/jgoodies_formlayout.adoc @@ -0,0 +1,260 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += JGoodies FormLayout + +*JGoodies FormLayout* is a powerful, flexible and precise general purpose layout manager. It aligns components +vertically and horizontally in a dynamic rectangular grid of cells, with each component occupying one or more cells. A +whitepaper about the *FormLayout* available http://www.jgoodies.com/articles/forms.pdf[online]. To use *FormLayout* you +first define the grid by specifying the columns and rows. In a second step you add components to the grid. You can +specify columns and rows via human-readable String descriptions or via arrays of *ColumnSpec* and *RowSpec* instances. +Each component managed by a *FormLayout* is associated with an instance of *CellConstraints*. The constraints object +specifies where a component should be located on the form's grid and how the component should be positioned. In addition +to its constraints object the *FormLayout* also considers each component's minimum and preferred sizes in order to +determine a component's size. + +This layout also requires the use of the *JGoodies FormLayout* jar file (forms-1.0.6.jar or higher). + +- xref:#MainFeatures[Main Features] +- xref:#PopupHeaderMenu[Popup Header Menu] +- xref:#GraphicalFeedback[Graphical Feedback] +- xref:#ColumnRowEditing[Column & Row Editing] +- xref:#Preferences[Preferences] +- xref:#SourceCodeGenerationParsing[Source Code Generation & Parsing] + +____ +This feature is based on technology from the JGoodies Forms. + +http://www.jgoodies.com/freeware/forms/ + +Copyright © 2002-2009 JGoodies Karsten Lentzsch +____ + +[#MainFeatures] +== Main Features + +- Select *JGoodies FormLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/jgfl_design_view.gif[image] + +- The *JGoodies FormLayout* jar file (forms-1.1.0.jar) will automatically be added to your project and the classpath +adjusted + +- Graphical feedback is provided for all column, row and cell interactions + +- Column and row properties may be changed via a popup menu or property dialog + +- Convert existing layouts (null, *GridBagLayout*, etc.) to *JGoodies FormLayout* with intelligent column, row and gap +creation ++ +image:images/null_convert.gif[image] +image:images/jgfl_convert.gif[image] + +- Automatically add gaps when adding new columns or rows + +[#PopupHeaderMenu] +== Popup Header Menu + +- Right-click on the header area to access the popup header menu ++ +image:images/jgfl_menu_row.gif[image] +image:images/jgfl_menu_column.gif[image] + +- Insert new columns or rows before the current column or row +- Add a new column or row at the end of the current list +- Delete entire columns or rows or just their widget contents +- Set the column alignment to left, right, center or fill +- Specify that the column or row should grow to fill the available space +- Group or ungroup columns or rows +- Set the sizing spec that should be used for the column or row (various column, row and gap types are available) +- Edit the properties of the current column or row + +[#GraphicalFeedback] +== Graphical Feedback + +- When moving a widget or adding a new widget, open cells are highlighted green while populated cells are highlighted +red and insertion points are highlighted in yellow ++ +image:images/jgfl_add1.gif[image] +image:images/jgfl_add2.gif[image] ++ +image:images/jgfl_add3.gif[image] + +- Phantom drop point to the right and below the current cells will create new columns, rows and gaps as needed ++ +image:images/jgfl_move1.gif[image] +image:images/jgfl_move2.gif[image] + +- The currently selected cell shows its column and row spanning handles and alignment handles ++ +image:images/jgfl_alignment_one.gif[image] + +- Set the alignment of a cell using its popup alignment menu or the toolbar ++ +image:images/jgfl_toolbar.gif[image] ++ +image:images/jgfl_cell_align1.gif[image] +image:images/jgfl_cell_align2.gif[image] + +- Right-click on a column to set its grow property ++ +image:images/jgfl_grow1.gif[image] image:images/jgfl_grow2.gif[image] + +- Grouped columns and rows are color highlighted to indicate which are in the same group ++ +image:images/jgfl_group1.gif[image] +image:images/jgfl_group2.gif[image] ++ +image:images/jgfl_group3.gif[image] + +- Column and row sizing handles make it easy to set the size of a column or row ++ +image:images/jgfl_resize_column1.gif[image] +image:images/jgfl_resize_column2.gif[image] ++ +image:images/jgfl_resize_row1.gif[image] +image:images/jgfl_resize_row2.gif[image] + +- Reorder columns and rows by dragging them (with their associated gap columns or rows) ++ +image:images/jgfl_reorder_row1.gif[image] +image:images/jgfl_reorder_row2.gif[image] ++ +image:images/jgfl_reorder_row3.gif[image] + +- Column and rows borders are indicated with gray lines ++ +image:images/jgfl_group3.gif[image] + +- Interactive column and row spanning feedback is provided ++ +image:images/jgfl_span1.gif[image] image:images/jgfl_span2.gif[image] + +- Full keyboard support for quickly changing alignment values ++ +[cols="50%,50%", options="header"] +|=== +2+a| +Cell +| +D +| +default horizontal +| +Shift+D +| +default vertical +| +F +| +fill horizontal +| +Shift+F +| +fill vertical +| +L, C, R +| +left/center/right for horizontal +| +T, M, B +| +top/middle/bottom for vertical +|=== + +[#ColumnRowEditing] +== Column & Row Editing + +- Double click on a column or row to access its property dialog +- Switch between columns and rows using the arrow buttons ++ +image:images/jgfl_column_properties1.gif[image] +image:images/jgfl_row_properties1.gif[image] + +- Select from any of the predefined column or gap templates ++ +image:images/jgfl_column_properties2.gif[image] +image:images/jgfl_row_properties2.gif[image] + +- Set the column or row alignment +- Specify the resize behavior and the relative weights of each column or row +- Set the size of the column or row ++ +image:images/jgfl_column_properties3.gif[image] +image:images/jgfl_row_properties3.gif[image] + +* Specify a constant size in a variety of units +* Specify minimum and maximum sizes + + +- Floating layout assistant for constraints image:images/assistant.gif[image] ++ +image:images/jgfl_layout_assistant_cell.gif[image] + +- Open the Columns or Rows editing dialog from the *Property Pane* or the right-click context menu of the panel. ++ +image:images/jgfl_panel_properties.gif[image] +image:images/jgfl_panel_menu.gif[image] + +- Insert or add new columns and rows +- Open the property dialog for an individual column or row +- Group and ungroup columns or rows +- Rearrange the order of the columns or rows ++ +image:images/jgfl_edit_columns.gif[image] ++ +image:images/jgfl_edit_rows.gif[image] + +== xref:../../preferences/swing/preferences_jgoodies_formlayout.adoc[Preferences] + +- Control whether automatic grab is used for text widgets, comboboxes, tables, etc. ++ +image:images/jgfl_auto_grab1.gif[image] +image:images/jgfl_auto_grab2.gif[image] + +- Control whether labels are automatically right-aligned when next to a text widget ++ +image:images/jgfl_auto_right_label1.gif[image] +image:images/jgfl_auto_right_label2.gif[image] + +[#SourceCodeGenerationParsing] +== Source Code Generation & Parsing + +- Intelligently convert existing layouts (null, *GridBagLayout*, etc.) to *JGoodies FormLayout* with column, row and gap +creation +- Generated code will use predefined FormFactory constants as necessary +- Parser can understand reused CellConstraint objects +- Parser supports all CellConstraint styles +* Creation methods intended for use by humans ++ +[source,java] +---- +CellConstraints cc = new CellConstraints(); +cc.xy(2, 1); // second col, first row +cc.xy(2, 1, "right, bottom"); // aligned to right and bottom +cc.xy(2, 1, "r, b"); // abbreviated alignment +cc.xywh(2, 1, 4, 3); // spans 4 cols, 3 rows +cc.xywh(2, 1, 4, 3, "right, bottom"); +cc.xywh(2, 1, 4, 3, "r, b"); +---- + +* Constructors intended for builders ++ +[source,java] +---- +new CellConstraints(); // first col, first row +new CellConstraints(2, 1); +new CellConstraints(2, 1, 4, 3); +new CellConstraints(2, 1, CellConstraints.RIGHT, CellConstraints.BOTTOM); +---- + +* Constructors intended for building UIs from XML ++ +[source,java] +---- +CellConstraints cc = new CellConstraints(); +new CellConstraints("2, 1"); +new CellConstraints("2, 1, r, b"); +new CellConstraints("2, 1, 4, 3"); +new CellConstraints("2, 1, 4, 3, r, b"); +---- ++ +image:images/jgfl_source1.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/miglayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/miglayout.adoc new file mode 100644 index 000000000..f6258a0e7 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/miglayout.adoc @@ -0,0 +1,217 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += MiGLayout + +*MiGLayout* is the most versatile and flexible Swing and SWT Layout Manager for Java, yet it is very easy to learn and +use. It is using String _or_ API type-checked constraints to format the layout. *MiGLayout* can produce flowing, grid +based, absolute (with links), grouped and docking layouts. You will never have to switch to another layout manager ever +again! *MiGLayout* is created to be to manually coded layouts what Matisse/GroupLayout is to IDE supported visual +layouts. + +This layout also requires the use of the *MiGLayout* jar file (miglayout-3.6.jar or higher). + +- xref:#MainFeatures[Main Features] +- xref:#PopupHeaderMenu[Popup Header Menu] +- xref:#GraphicalFeedback[Graphical Feedback] +- xref:#ColumnRowEditing[Column, Row & Cell Editing] +- xref:#Preferences[Preferences] +- xref:#SourceCodeGenerationParsing[Source Code Generation & Parsing] + +____ +This feature is based on technology from MiG InfoCom AB. + +http://www.miglayout.com/ + +Copyright © 2006-2007 MiG InfoCom AB +____ + +[#MainFeatures] +== Main Features + +- Select *MiGLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/mig_design_view.gif[image] + +- The *MiGLayout* jar file (miglayout-3.6.jar) will automatically be added to your project and the classpath adjusted +- Graphical feedback is provided for all column, row and cell interactions +- Column and row properties may be changed via a popup menu or property dialog +- Convert existing layouts (null, *GridBagLayout*, etc.) to *MiGLayout* with intelligent column and row creation ++ +image:images/null_convert.gif[image] +image:images/mig_convert.gif[image] + +[#PopupHeaderMenu] +== Popup Header Menu + +- Right-click on the header area to access the popup header menu ++ +image:images/mig_menu_row.gif[image] +image:images/mig_menu_column.gif[image] + +- Insert new columns or rows before the current column or row +- Add a new column or row at the end of the current list +- Delete entire columns or rows or just their widget contents +- Set the column alignment to left, right, center or fill +- Specify that the column or row should grow to fill the available space +- Set columns and rows to default or preferred sizes +- Edit the properties of the current column or row + +[#GraphicalFeedback] +== Graphical Feedback + +- When moving a widget or adding a new widget, open cells are highlighted green while populated cells are highlighted +red and insertion points are highlighted in yellow ++ +image:images/mig_add1.gif[image] +image:images/mig_add2.gif[image] ++ +image:images/mig_add3.gif[image] + +- Phantom drop point to the right and below the current cells will create new columns and rows as needed ++ +image:images/mig_move1.gif[image] image:images/mig_move2.gif[image] + +- The currently selected cell shows its column and row spanning handles and alignment handles ++ +image:images/mig_alignment_one.gif[image] + +- Set the alignment of a cell using its popup alignment menu or the toolbar ++ +image:images/mig_toolbar.gif[image] ++ +image:images/mig_cell_align1.gif[image] +image:images/mig_cell_align2.gif[image] + +- Right-click on a column to set its grow property ++ +image:images/mig_grow1.gif[image] image:images/mig_grow2.gif[image] + +- Column and row sizing handles make it easy to set the size of a column or row ++ +image:images/mig_resize_column1.gif[image] +image:images/mig_resize_column2.gif[image] ++ +image:images/mig_resize_row1.gif[image] +image:images/mig_resize_row2.gif[image] + +- Reorder columns and rows by dragging them ++ +image:images/mig_reorder_row1.gif[image] +image:images/mig_reorder_row2.gif[image] ++ +image:images/mig_reorder_row3.gif[image] + +- Column and rows borders are indicated with gray lines ++ +image:images/mig_gray_lines.gif[image] + +- Interactive column and row spanning feedback is provided ++ +image:images/mig_span1.gif[image] image:images/mig_span2.gif[image] + +- Split cells horizontally or vertically ++ +image:images/mig_cell_split1.gif[image] +image:images/mig_cell_split2.gif[image] + +- Full keyboard support for quickly changing alignment values ++ +[cols="50%,50%", options="header"] +|=== +2+| +Cells +| +D +| +default horizontal +| +Shift+D +| +default vertical +| +F +| +fill horizontal +| +Shift+F +| +fill vertical +| +L, C, R +| +left/center/right for horizontal +| +T, M, B +| +top/middle/bottom for vertical +|=== + +[#ColumnRowEditing] +== Column, Row & Cell Editing + +- Double click on a column or row to access its property dialog +- Switch between columns and rows using the arrow buttons ++ +image:images/mig_column_properties1.gif[image] +image:images/mig_row_properties1.gif[image] + +- Enter arbitrary specifications into the Specification field +- Set the column or row alignment +- Specify the resize behavior and the relative weights of each column or row +- Set the minimum, maximum and preferred size of the column or row ++ +image:images/mig_column_properties2.gif[image] +image:images/mig_row_properties2.gif[image] + +- Floating layout assistant for cell constraints image:images/assistant.gif[image] ++ +image:images/mig_layout_assistant_cell.gif[image] + +- Edit individual constraint properties for each widget in the *Property Pane* or the right-click context menu of the +widget. ++ +image:images/mig_properties.gif[image] +image:images/mig_cell_menu.gif[image] + +- Click the "..." button to specify an arbitrary cell constraint specification (such as docking) ++ +image:images/mig_cell_specifications.gif[image] +image:images/mig_cell_docking.gif[image] + +- Specify arbitrary layout, column & row constraints (such as panel insets) ++ +image:images/mig_property_layout_constraints.gif[image] +image:images/mig_property_col_constraints.gif[image] ++ +image:images/mig_panel_insets.gif[image] + +- Open the Columns or Rows editing dialog from the *Property Pane* or the right-click context menu of the panel. ++ +image:images/mig_property_col_specs.gif[image] +image:images/jgfl_panel_menu.gif[image] + +- Insert or add new columns and rows +- Open the property dialog for an individual column or row +- Rearrange the order of the columns or rows ++ +image:images/mig_column_specifications.gif[image] + +== xref:../../preferences/swing/preferences_miglayout.adoc[Preferences] + +- Control whether automatic grab is used for text widgets, comboboxes, tables, etc. ++ +image:images/mig_auto_grab1.gif[image] +image:images/mig_auto_grab2.gif[image] + +- Control whether labels are automatically right-aligned when next to a text widget ++ +image:images/mig_auto_right_label1.gif[image] +image:images/mig_auto_right_label2.gif[image] + +[#SourceCodeGenerationParsing] +== Source Code Generation & Parsing + +- Intelligently convert existing layouts (null, *GridBagLayout*, etc.) to *MiGLayout* with column and row creation +- Generated code will use string-based constants ++ +image:images/mig_source1.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/springlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/springlayout.adoc new file mode 100644 index 000000000..c8f0ad767 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/layoutmanagers/swing/springlayout.adoc @@ -0,0 +1,74 @@ +ifdef::env-github[] +:imagesdir: ../../../html/layoutmanagers/swing/ +endif::[] + += Swing SpringLayout + +SpringLayout class that implements an constraint-based layout manager. +With constraint-based layout, you have independent control over the +sizing behavior of each of the four sides of a widget. The top, bottom, +left, and right sides can be independently attached to the sides of the +parent container or the sides of any sibling widget within the same +container using either fixed or relative offsets. This proves to be +surprisingly powerful and can be used to emulate almost any of the other +layout managers. The SpringLayout class is very simple and only +specifies the margins of the container. + +- xref:#MainFeatures[*Main Features*] +- xref:#GraphicalFeedback[*Graphical Feedback*] + +[#MainFeatures] +== Main Features + +- Select *SpringLayout* from the *Layouts* palette and drop it on a JFrame or JPanel ++ +image:images/sl_design_view.gif[image] + +- Graphical feedback is provided for all widget size and position operations ++ +image:images/sl_indent1.gif[image] image:images/sl_margins3.gif[image] + +[#GraphicalFeedback] +== Graphical Feedback + +- Position and size widgets using SpringLayout constraints ++ +image:images/sl_position1.gif[image] +image:images/sl_size1.gif[image] + +- Align widgets horizontally and vertically ++ +image:images/sl_alignment7.gif[image] +image:images/sl_alignment8.gif[image] + +- Indent widgets intelligently ++ +image:images/sl_indent1.gif[image] +image:images/sl_indent2.gif[image] + +- Align widgets to margins ++ +image:images/sl_margins1.gif[image] +image:images/sl_margins2.gif[image] +image:images/sl_margins3.gif[image] + +- Anchor widgets to the left, right or both sides ++ +image:images/sl_alignment1.gif[image] +image:images/sl_alignment2.gif[image] +image:images/sl_alignment3.gif[image] + +- Anchor widgets to the top, bottom or both sides ++ +image:images/sl_alignment4.gif[image] +image:images/sl_alignment5.gif[image] +image:images/sl_alignment6.gif[image] + +- Set anchors via popup context menus ++ +image:images/sl_alignment_menu1.gif[image] +image:images/sl_alignment_menu2.gif[image] + +- Align and center widgets using toolbar ++ +image:images/align_toolbar.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/palettes/swing_palette.adoc b/org.eclipse.wb.swing.doc.user/html-src/palettes/swing_palette.adoc new file mode 100644 index 000000000..00f9e9dc3 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/palettes/swing_palette.adoc @@ -0,0 +1,163 @@ +ifdef::env-github[] +:imagesdir: ../../html/palettes/ +endif::[] + += Swing Designer Palette + +*Swing Designer* provides the following palette for creating Swing applications. + +The palette may be fully configured using the *Palette Manager*. + +[width="100%",cols="10%,90%"] +|=== +a|image:images/palette_swing_containers.gif[image] +a| +- *JPanel* - A generic lightweight container. +- *JScrollPane* - Provides a scrollable view of a lightweight component. A JScrollPane manages a viewport, optional + vertical and horizontal scroll bars, and optional row and column heading viewports. +- *JSplitPane* - JSplitPane is used to divide two (and only two) Components. The two Components are graphically + divided based on the look and feel implementation, and the two Components can then be interactively + resized by the user. +- *JTabbedPane* - A component that lets the user switch between a group of components by clicking on a tab with a + given title and/or icon. +- *JToolBar* - A component that is useful for displaying commonly used Action's or controls. +- *JDesktopPane* - A container used to create a multiple-document interface or a virtual desktop. +- *JInternalFrame* - A lightweight object that provides many of the features of a native frame, including dragging, + closing, becoming an icon, resizing, title display, and support for a menu bar. +a| image:images/palette_swing_layouts.gif[image] +a| +- xref:../layoutmanagers/swing/absolutelayout.adoc[*Absolute Layout*] - A absolute layout displays components with + specified bounds. +- xref:../layoutmanagers/swing/flowlayout.adoc[*FlowLayout*] - A flow layout arranges components in a + left-to-right flow, much like lines of text in a + paragraph. Flow layouts are typically used to + arrange buttons in a panel. It will arrange + buttons left to right until no more buttons fit + on the same line. +- xref:../layoutmanagers/swing/borderlayout.adoc[*BorderLayout*] - A border layout lays out a container, arranging + and resizing its components to fit in five + regions: north, south, east, west, and center. + Each region may contain no more than one + component. +- xref:../layoutmanagers/swing/gridlayout.adoc[*GridLayout*] - The GridLayout class is a layout manager that + lays out a container's components in a + rectangular grid. The container is divided into + equal-sized rectangles, and one component is + placed in each rectangle. +- xref:../layoutmanagers/swing/gridbaglayout.adoc[*GridBagLayout*] - The GridBagLayout class is a flexible layout + manager that aligns components vertically and + horizontally, without requiring that the + components be of the same size. Each + GridBagLayout object maintains a dynamic, + rectangular grid of cells, with each component + occupying, one or more cells. +- xref:../layoutmanagers/swing/cardlayout.adoc[*CardLayout*] - A CardLayout object is a layout manager for a + container. It treats each component in the + container as a card. Only one card is visible at + a time, and the container acts as a stack of + cards. The first component added to a CardLayout + object is the visible component when the + container is first displayed. +- xref:../layoutmanagers/swing/boxlayout.adoc[*BoxLayout*] - A layout manager that allows multiple components + to be laid out either vertically or + horizontally. The components will not wrap so, + for example, a vertical arrangement of + components will stay vertically arranged when + the frame is resized. +- xref:../layoutmanagers/swing/jgoodies_formlayout.adoc[*FormLayout*] - JGoodies FormLayout is a powerful, flexible and + precise general purpose layout manager. It + aligns components vertically and horizontally in + a dynamic rectangular grid of cells, with each + component occupying one or more cells. +- xref:../layoutmanagers/swing/springlayout.adoc[*SpringLayout*] - A SpringLayout lays out the children of its + associated container according to a set of + constraints for each side. +- xref:../layoutmanagers/swing/grouplayout.adoc[*GroupLayout*] - GroupLayout mixes grid layout and free form + layout. +a|image:images/palette_swing_struts_springs.gif[image] +a| +- *Horizontal Box* - Creates a panel that uses an implicit horizontal xref:../layoutmanagers/swing/boxlayout.adoc[*BoxLayout*]. +- *Vertical Box* - Creates a panel that uses an implicit vertical xref:../layoutmanagers/swing/boxlayout.adoc[*BoxLayout*]. +- *Horizontal strut* - Creates an invisible, fixed-width component . +- *Vertical strut* - Creates an invisible, fixed-height component . +- *Horizontal glue* - Creates a horizontal glue component . +- *Vertical glue* - Creates a vertical glue component . +- *Rigid area* - Creates an invisible component that's always the specified size . +- *Glue* - Creates an invisible glue component . +a|image:images/palette_swing_components.gif[image] +a| +- *JLabel* - A display area for a short text string or an image, or both. A label does not react to input + events. As a result, it cannot get the keyboard focus. A label can, however, display a + keyboard alternative as a convenience for a nearby component that has a keyboard alternative + but can't display it. +- *JTextField* - A lightweight component that allows the editing of a single line of text. +- *JComboBox* - A component that combines a button or editable field and a drop-down list. The user can + select a value from the drop-down list, which appears at the user's request. If you make the + combo box editable, then the combo box includes an editable field into which the user can + type a value. +- *JButton* - An implementation of a "push" button. +- *JCheckBox* - An implementation of a check box -- an item that can be selected or deselected, and which + displays its state to the user. By convention, any number of check boxes in a group can be + selected. +- *JRadioButton* - An implementation of a radio button -- an item that can be selected or deselected, and which + displays its state to the user. Used with a ButtonGroup object to create a group of buttons + in which only one button at a time can be selected. +- *JToggleButton* - An implementation of a two-state button -- an item that can be selected or deselected, and + which displays its state to the user. +- *JTextArea* - A JTextArea is a multi-line area that displays plain text. +- *JFormattedTextField* - A lightweight component that allows the editing of a single line of text using a predefined + mask. +- *JPasswordField* - A lightweight component that allows the editing of a single line of text where the view + indicates something was typed, but does not show the original characters. +- *JTextPane* - A text component that can be marked up with attributes that are represented graphically. +- *JEditorPane* - A text component to edit various kinds of content. +- *JSpinner* - A lightweight component that allows the lets the user select a number or an object value + from an ordered sequence. +- *JList* - A component that allows the user to select one or more objects from a list. +- *JTable* - The JTable is used to display and edit regular two-dimensional tables of cells. +- *JTable on JScrollPane* - A JTable placed within a JScrollPane. +- *Table model column* - A JTable model column. +- *JTree* - A control that displays a set of hierarchical data as an outline. +- *JProgressBar* - A component that, by default, displays an integer value within a bounded interval. A + progress bar typically communicates the progress of some work by displaying its percentage + of completion and possibly a textual display of this percentage. +- *JScrollBar* - An implementation of a scrollbar. The user positions the knob in the scrollbar to determine + the contents of the viewing area. The program typically adjusts the display so that the end + of the scrollbar represents the end of the displayable contents, or 100% of the contents. +- *JSeparator* - A horizontal or vertical line used to separate other controls. +- *JSlider* - A component that lets the user graphically select a value by sliding a knob within a bounded + interval. The slider can show both major tick marks and minor tick marks between them. The + number of values between the tick marks is controlled with setMajorTickSpacing and + setMinorTickSpacing. +a|image:images/palette_swing_menus.gif[image] +a| +- *JMenuBar* - A menu bar. +- *JPopupMenu* - A popup menu. +- *JMenu* - Either a pull-down or cascaded menu. +- *JMenuItem* - A simple menu item. +- *JCheckBoxMenuItem* - A checkbox menu item. +- *JRadioButtonMenuItem* - A radio button menu item. +a|image:images/palette_awt_components.gif[image] +a| +- *Panel* - Panel is the simplest container class. A panel provides space in which an application can attach any + other component, including other panels. +- *Canvas* - A Canvas component represents a blank rectangular area of the screen onto which the application can + draw or from which the application can trap input events from the user. +- *ScrollPane* - A container class which implements automatic horizontal and/or vertical scrolling for a single child + component. +- *Button* - This class creates a labeled button. The application can cause some action to happen when the button is + pushed. +- *Label* - A Label object is a component for placing text in a container. A label displays a single line of + read-only text. The text can be changed by the application, but a user cannot edit itdirectly. +- *Checkbox* - A check box is a graphical component that can be in either an "on" (true) or "off" (false) state. + Clicking on a check box changes its state from "on" to "off", or from "off" to "on". +- *Choice* - The Choice class presents a pop-up menu of choices. The current choice is displayed as the title of the + menu. +- *List* - The List component presents the user with a scrolling list of text items. The list can be set up so + that the user can choose either one item or multiple items. +- *Scrollbar* - The Scrollbar class embodies a scroll bar, a familiar user-interface object. A scroll bar provides a + convenient means for allowing a user to select from a range of values. +- *TextField* - A TextField object is a text component that allows for the editing of a single line of text. +- *TextArea* - A TextArea object is a multi-line region that displays text. It can be set to allow editing or to be + read-only. +|=== \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/index.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/index.adoc new file mode 100644 index 000000000..96a39ab2d --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/index.adoc @@ -0,0 +1,55 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += Preferences - Swing + +image:images/preferences_swing.gif[image] + +Here is the list of *Swing Designer* preference pages: + +* xref:preferences_code_generation.adoc[*Code Generation*] +** xref:preferences_event_handlers.adoc[*Event Handlers*] +** xref:preferences_nls.adoc[*NLS*] +** xref:preferences_variables.adoc[*Variables*] +* xref:preferences_layouts.adoc[*Layouts*] +** xref:preferences_absolute.adoc[*Absolute*] +** xref:preferences_gridbaglayout.adoc[*GridBagLayout*] +** xref:preferences_jgoodies_formlayout.adoc[*JGoodies FormLayout*] +** xref:preferences_miglayout.adoc[*MiGLayout*] +* xref:preferences_lookandfeel.adoc[*LookAndFeel*] + +== Default form width & height + +These preferences control the default form size used for any window or dialog created by *Swing Designer*. + +== Highlight containers without borders + +This preference determines whether *Swing Designer* draws a dotted rectangle around borderless JPanels. + +image:images/show_borders.gif[image] + +== Show text in components tree + +This preference determines whether the text label of a widget (like a button, label, etc.) is shown next to the widget's +name in the *Component Tree*. + +-- +image:images/tree_text_on.gif[image] +image:images/tree_text_off.gif[image] +-- + +== Show important properties dialog on component adding + +This preference controls whether the important properties dialog is shown whenever a new widget is created. The +important properties dialog provides access to the widget's name, text and icon properties and style settings. + +image:images/important_properties.gif[image] + +== Automatically activate direct edit on component adding + +This preference controls whether *direct edit* mode is automatically invoked when a new component is added to the +window. When this option is enabled, it makes it easy to immediately set the text label on a widget as soon as it is +created. + +image:images/direct_edit.gif[image,width=230] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_absolute.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_absolute.adoc new file mode 100644 index 000000000..cfbf6c011 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_absolute.adoc @@ -0,0 +1,66 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += Absolute + +image:images/preferences_absolute.gif[image] + +This page is used to control various *Swing > Layouts > Absolute* options. + +== Use 'Free' component placement style + +This preference determines whether free mode is used for aligning widgets. Free mode uses widget snapping similar to +that used for *GroupLayout*. + +-- +image:../../layoutmanagers/swing/images/al_snap_baselines.gif[image] +image:../../layoutmanagers/swing/images/al_snap_align_horizontal.gif[image] +-- + +== Component Gaps + +This preference determines what default gaps are used between components in free mode. + +== Container Gaps + +This preference determines what default gaps are used between components and their containers in free mode. + +== Apply 'grid' creation flow + +This preference determines whether the creation order of the widgets will be adjusted to reflect their positions in a +left-to-right, top-to-bottom grid flow. This will affect the default tab order. + +== Use Grid Snapping + +This preference determines whether grid mode is used for aligning widgets. Grid mode uses a user customizable snapping +grid. + +image:../../layoutmanagers/swing/images/al_grid_5x5.gif[image] + +== Grid Step + +This preference determines the grid step used in grid mode. + +-- +image:../../layoutmanagers/swing/images/al_grid_5x5.gif[image] +image:../../layoutmanagers/swing/images/al_grid_10x10.gif[image] +-- + +== Display Grid + +This preference determines whether the grid is displayed in grid mode. + +-- +image:../../layoutmanagers/swing/images/al_grid_10x10.gif[image] +image:../../layoutmanagers/swing/images/al_grid_hide.gif[image] +-- + +== Display location/size hints + +This preference determines whether location and size hints are shown when moving or sizing widgets. + +-- +image:../../layoutmanagers/swing/images/al_hint_show.gif[image] +image:../../layoutmanagers/swing/images/al_hint_hide.gif[image] +-- \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_code_generation.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_code_generation.adoc new file mode 100644 index 000000000..69c91c993 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_code_generation.adoc @@ -0,0 +1,187 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += Code Generation + +image:images/preferences_code_generation.gif[image] + +== Use the existing creation style when it can be deduced + +This preference determines whether *Swing Designer* attempts to use the existing code creation style already in a file +to generate code. *Swing* *Designer* checks a file when it is opened in the editor to see if one style or the other is +used. If only one of the styles is being used in a file, it will continue generating code in that style, regardless of +what the other code generation settings. If no style is detected (no controls have been created yet) or if more than one +style is detected, the *Swing Designer* will generate code as specified in the other settings. + +== Method name for new statements + +image:images/code_generation_method_name.gif[image] + +This preference determines in which method components will be created by default (in the event that a suitable method +has not already be defined for the current class). If the method does not exist, it will be created and a call to it +added to the constructor for the class. Various default choices are provided to match the code generation patterns of +other GUI builders. + +== Default code generation settings + +*Swing Designer* supports a wide variety of code generation styles and can emulate most other Java GUI builders +including NetBeans, JBuilder, the Eclipse Visual Editor, etc. Choose a xref:#Variable[*Variable Generation*] style +(xref:#Local[*Local*], xref:#Field[*Field*], xref:#InitializedField[*Initialized Field*] or xref:#Lazy[*Lazy*]) and a +xref:#Statement[*Statement Generation*] style (xref:#Flat[*Flat*] or xref:#Block[*Block*]). Many of the styles have +additional options that can be set. Once any combination of settings is selected, you can see a preview of that code +generation style in the *Preview* pane. + +[#Variable] +== Variable generation + +*Swing Designer* supports several *Variable Generation* styles including xref:#Local[*Local*], xref:#Field[*Field*], +xref:#InitializedField[*Initialized Field*] or xref:#Lazy[*Lazy*]. + +[#Local] +== Local Variable Mode + +image:images/code_generation_local.gif[image] + +In the *Local* variable generation style, each component is assigned to a unique local variable and initialized at the +point of declaration. An option is provided to declare each variable as *final*. Note that component types marked as +*As Field* on the xref:preferences_variables.adoc#TypeSpecific[*Variables > Type Specific*] preference page will always +be assigned to fields. + +[cols="50%,50%"] +|=== +a| +*Local Variables / Flat Mode* + +image:images/code_generation_local_source.gif[image] +a| +*Final Local Variables / Flat Mode* + +image:images/code_generation_local_source_final.gif[image] +a| +*Local Variables / Block Mode* + +image:images/code_generation_local_source_block.gif[image] +a| +*Final Local Variables / Block Mode* + +image:images/code_generation_local_source_final_block.gif[image] +|=== + +[#Field] +== Field Mode + +image:images/code_generation_field.gif[image] + +In the *Field* generation style, each component is assigned to a unique field and initialized at the point where it is +first used. An option is provided to prefix each field reference with *this*. + +[cols="50%,50%"] +|=== +a| +*Fields / Flat Mode* + +image:images/code_generation_field_source.gif[image] +a| +*This Fields / Flat Mode* + +image:images/code_generation_field_source_this.gif[image] +a| +*Fields / Block Mode* + +image:images/code_generation_field_source_block.gif[image] +a| +*This Fields / Block Mode* + +image:images/code_generation_field_source_this_block.gif[image] +|=== + +[#InitializedField] +== Initialized Field Mode + +image:images/code_generation_int_field.gif[image] + +In the *Initialized Field* generation style, each component is assigned to a unique field and initialized at the point +at the point of declaration. An option is provided to prefix each field reference with *this*. + +[cols="50%,50%"] +|=== +a| +*Initialized Fields / Flat Mode* + +image:images/code_generation_int_field_source.gif[image] +a| +*Initialized This Fields / Flat Mode* + +image:images/code_generation_int_field_source_this.gif[image] +a| +*Initialized Fields / Block Mode* + +image:images/code_generation_int_field_source_block.gif[image] +a| +*Initialized This Fields / Block Mode* + +image:images/code_generation_int_field_source_this_block.gif[image] +|=== + +[#Lazy] +== Lazy Mode + +image:images/code_generation_lazy.gif[image] + +In the *Lazy* generation style, each component is created in its own unique *getXXX()* method. An option is provided to +set the visibility modifier to *private*, *package private*, *protected* or *public*. + +[cols="50%,50%"] +|=== +a| +*Lazy Private Mode* + +image:images/code_generation_lazy_source.gif[image] +a| +*Lazy Public Mode* + +image:images/code_generation_lazy_source_public.gif[image] +|=== + +[#Statement] +== Statement generation + +*Swing Designer* supports *flat* mode and *block* mode generation modes. + +[cols="50%,50%"] +|=== +a| +[#Flat] +*Flat Mode* + +image:images/code_generation_flat.gif[image,width=298,height=147] + +In *flat* mode, each component is created in the same scope at the same indentation level. An option is provided to +prefix the creation of each component with either a blank line or a comment. + +a| +[#Block] +*Block Mode* + +image:images/code_generation_block.gif[image] + +In *block* mode, each component is created in its own scoped code block. Child components are created in nested blocks. + +a| +*Local Variables / Flat Mode* + +image:images/code_generation_local_source.gif[image] +a| +*Local Variables / Block Mode* + +image:images/code_generation_local_source_block.gif[image] +a| +*Fields / Flat Mode* + +image:images/code_generation_field_source.gif[image] +a| +*Fields / Block Mode* + +image:images/code_generation_field_source_block.gif[image] +|=== \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_event_handlers.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_event_handlers.adoc new file mode 100644 index 000000000..681146547 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_event_handlers.adoc @@ -0,0 +1,94 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += Event Handlers + +image:images/preferences_event_handlers.gif[image] + +This page is used to control various *Swing > Code Generation > Event Handler* options. + +== Event code generation + +This preference determines how event handlers are generated. The first option, *Create anonymous class*, generates an +anonymous adapter class located inline with the widget definition. For example: + +[source,java] +---- +Button button = new Button(shell, SWT.NONE); +button.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + } +}); +---- + +The second option, *Create inner class*, generates an adapter class as an inner class. Options are provided to add the +inner class at the beginning or end of the class as well as specify the pattern used to name the inner class. For +example: + +[source,java] +---- +private class ButtonSelectionListener extends SelectionAdapter { + public void widgetSelected(SelectionEvent e) { + } +} +... +Button button = new Button(shell, SWT.NONE); +button.addSelectionListener(new ButtonSelectionListener()); +---- + +The pattern can include the template variables (names enclosed between "$\{" and "}") shown below. Capitalizing the name +of any variable will cause the value of the variable to be capitalized before it is inserted into the resulting text. + +- *component_name* - the name of the component to which the handler is being attached +- *component_class_name* - the name of the class of the component to which the handler is being attached +- *listener_name* - the name of the event being handled +- *listener_className* - the name of the event listener + +The third option, *Implement listener interface in parent class*, adds the the listener interface to the parent class +and adds the appropriate methods to the class definition. For example: + +[source,java] +---- +public class MyClass implements SelectionListener { + ... + Button button = new Button(shell, SWT.NONE); + button.addSelectionListener(this); + ... + public void widgetSelected(SelectionEvent e) { + } + public void widgetDefaultSelected(SelectionEvent e) { + } +} +---- + +== Create stub event handler methods named + +This preference determines whether the text field below it is enabled. Now whenever an event handler is added, a method +stub is created with the name given in the text field. A line of code is also added to the event handler which calls the +newly created method. If you move your mouse over the text field, a tool tip will appear which gives you information on +how to specify the names of the method stubs generated. + +Use this field to change the pattern used to generate the name of the method that will be invoked from within the event +handler. The pattern can include the template variables (names enclosed between "$\{" and "}") shown below. Capitalizing +the name of any variable will cause the value of the variable to be capitalized before it is inserted into the resulting +text. + +- *component_name* - the name of the component to which the handler is being attached +- *component_class_name* - the name of the class of the component to which the handler is being attached +- *event_name* - the name of the event being handled + +== Delete stub event handler methods on component delete + +This preference determines whether handler methods associated with a component are deleted when the component is +deleted. + +== Declare parameters in event handlers as 'final' + +This preference determines whether 'final' is added to the parameters in event handlers. + +== Show icon decorator for components with events + +This preference controls whether components with event handlers are shown with an icon decorator. + +image:images/event_icon_decorator.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_gridbaglayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_gridbaglayout.adoc index 9c0c3f53a..e34c84803 100644 --- a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_gridbaglayout.adoc +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_gridbaglayout.adoc @@ -2,7 +2,7 @@ ifdef::env-github[] :imagesdir: ../../../html/preferences/swing/ endif::[] -= Preferences - Swing GridBagLayout += GridBagLayout image:images/preferences_gridbaglayout.gif[image] diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_jgoodies_formlayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_jgoodies_formlayout.adoc new file mode 100644 index 000000000..aef01a6cd --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_jgoodies_formlayout.adoc @@ -0,0 +1,30 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += JGoodies FormLayout + +image:images/preferences_jgoodies_formlayout.gif[image] + +This page is used to control various *Swing > Layouts > JGoodies FormLayout* options. + +== Use automatic horizontal / vertical grab + +This preference controls whether new text-oriented widgets (*JText*, *JComboBox*, etc.) are set to grab horizontally +when they are added to the window and whether new *JTable* and *JTree* widgets are set to grab horizontally and +vertically when they are added to the window. + +-- +image:../../layoutmanagers/swing/images/jgfl_auto_grab1.gif[image] +image:../../layoutmanagers/swing/images/jgfl_auto_grab2.gif[image] +-- + +== Automatically align right Label-like components before Text components + +This preference controls whether *JLabels* should be right aligned when they are to the left of a *JText* or *JComboBox* +widget. + +-- +image:../../layoutmanagers/swing/images/jgfl_auto_right_label1.gif[image] +image:../../layoutmanagers/swing/images/jgfl_auto_right_label2.gif[image] +-- \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_layouts.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_layouts.adoc new file mode 100644 index 000000000..2933d921b --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_layouts.adoc @@ -0,0 +1,36 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += Layouts + +image:images/preferences_layouts.gif[image] + +This page is used to control various *Swing > Layouts* options. + +== Default layout manager + +This preference controls the default layout manager that *Swing Designer* uses for any new frame or panel. The default +is to use the implicit layout manager already in effect for each container (e.g., BorderLayout for JFrames and +FlowLayout for JPanels). + +== Layouts to use + +This preference controls the layouts which can be selected in the default layout manager and also which layouts are +available in the Design editor page. + +If a layout is unchecked that is currently set as default layout, the selection in the default layout manager control is +cleared, with the implict layout being used as default again. + +== Containers automatically use layout manager type of parent + +This preference determines whether new panels will use the layout manager of their parent's by default. + +== Create variable for Layout using pattern + +This preference determines what pattern will be used to generate layout variables. The following styles are supported: + +- $\{layoutAcronym}_$\{containerName} - gbl_panel +- $\{layoutAcronym}$\{containerName-cap} - gblPanel +- $\{containerName}$\{layoutClassName} - panelGridBagLayout +- $\{dataDefaultName} - gridBagLayout_1 \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_lookandfeel.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_lookandfeel.adoc new file mode 100644 index 000000000..66296235a --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_lookandfeel.adoc @@ -0,0 +1,55 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += LookAndFeel + +image:images/preferences_lookandfeel.gif[image] + +This page is used to control various *Swing > LookAndFeel* options. + +Any look and feel types listed on this page will show up in Designer's toolbar in the look and feel drop down list. + +-- +image:images/look_and_feel_drop_down.gif[image] +image:images/look_and_feel_drop_down2.gif[image] +-- + +[cols="50%,50%"] +|=== +a| +*Windows* + +image:images/look_and_feel_windows.gif[image] +a| +*Motif* + +image:images/look_and_feel_motif.gif[image] +a| +*Metal* + +image:images/look_and_feel_metal.gif[image] +a| +*Liquid* + +image:images/look_and_feel_liquid.gif[image] +|=== + +You can add more looks by clicking on the *Add* button and specifying the look you want to add in the *Add LookAndFeel* +dialog that appears. To edit a look, select it and click on *Edit*. To remove a look, select it click on *Remove*. To +set a look as the default look used in Designer, select the look and click on the *Set Default* button. + +image:images/add_look_and_feel.gif[image] + +== Apply chosen LookAndFeel in main() method + +This preference determines whether Designer adds code to set the selected Look and Feel in the main() method. For +example: + +[source,java] +---- +try { + UIManager.setLookAndFeel("com.jgoodies.looks.windows.WindowsLookAndFeel"); +} catch (Throwable e) { +} +---- \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_miglayout.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_miglayout.adoc new file mode 100644 index 000000000..fd25f10c9 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_miglayout.adoc @@ -0,0 +1,30 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += MiGLayout + +image:images/preferences_miglayout.gif[image] + +This page is used to control various *Swing > Layouts > MiGLayout* options. + +== Use automatic horizontal/vertical grab + +This preference controls whether new text-oriented widgets (*JText*, *JComboBox*, etc.) are set to grab horizontally +when they are added to the window and whether new *JTable* and *JTree* widgets are set to grab horizontally and +vertically when they are added to the window. + +-- +image:../../layoutmanagers/swing/images/mig_auto_grab1.gif[image] +image:../../layoutmanagers/swing/images/mig_auto_grab2.gif[image] +-- + +== Automatically align right Label-like components before Text components + +This preference controls whether *JLabels* should be right aligned when they are to the left of a *JText* or *JComboBox* +widget. + +-- +image:../../layoutmanagers/swing/images/mig_auto_right_label1.gif[image] +image:../../layoutmanagers/swing/images/mig_auto_right_label2.gif[image] +-- \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_nls.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_nls.adoc new file mode 100644 index 000000000..5e166efca --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_nls.adoc @@ -0,0 +1,29 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += NLS + +image:images/preferences_nls.gif[image] + +This page is used to control various *SWT > Code Generation > NLS* options. + +== Automatically externalize string properties, if class contains externalized properties + +This preference determines whether Designer will automatically externalize the string properties for new widgets as they +are added. This preference only applies to classes that have already had their strings externalized. + +== Use qualified name in keys + +This preference determines whether qualified names are used to create keys. + +== Key as value prefix + +This preference determines what prefix should be used for NLS keys directly entered into the property pane. + +image:images/nls_key_as_value.gif[image] + +== Always visible locales + +This preference determines what locales should always be listed. This should be a comma separated list such as "en, de, +ru". \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_variables.adoc b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_variables.adoc new file mode 100644 index 000000000..3e12d5eab --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/preferences/swing/preferences_variables.adoc @@ -0,0 +1,65 @@ +ifdef::env-github[] +:imagesdir: ../../../html/preferences/swing/ +endif::[] + += Preferences - Swing > Code Generation > Variables + +This page is used to control various *Swing > Code Generation > Variables* options. + +- xref:#TypeSpecific[*Type specific*] +- xref:#AutoRename[*Auto rename*] +- xref:#Miscellaneous[*Miscellaneous*] + +[#TypeSpecific] +== Type specific + +image:images/preferences_variables_type_specific.gif[image] + +There are already several types listed in the table. You can add more types by clicking on the *Add* button and entering +in the name of the class you want to add in the dialog box that appears. To remove a type, highlight it in the table and +click on *Remove*. + +The *Default Name* column of the table lets you change what variable name is initially used when a control of that type +is created. To change the default name, simply click in the table cell that you wish to modify and type in the name. +Press Enter to apply the change or Esc to cancel. Any names that are entered must be valid Java identifiers. + +The *Acronym* column of the table lets you specify a short name for the type that is used in automatic variable +renaming. Any acronyms that are entered must be valid Java identifiers. + +The *As Field* column has a checkbox for each table item. If an item's *As Field* cell is checked, all new controls of +that type will be created as a field. When a control is created as a field, it places the declaration of the control in +the class outside of any methods. + +[#AutoRename] +== Auto rename + +image:images/preferences_variables_auto_rename.gif[image] + +== Use text component variable auto rename + +This preference determines whether component variable names are renamed based on the value of the text component. This +can be set to "Always", "Never" or "For default names". The later means that only components that still have their +default names will be renamed. Once renamed, they will not be renamed again. + +== Create variable using pattern + +This preference determines what pattern is used when creating a new variable name. Available pattern parts are: + +- $\{class_acronym} - the acronym of the short class name +- $\{text} - the value of the text property +- $\{class_name} - the short class name +- $\{default_name} - the default name of the component + +== Process only _n_ words of text value + +This preference determines how many words from the text component are used when generating the new variable name. Use +"0" for no limit. + +[#Miscellaneous] +== Miscellaneous + +image:images/preferences_variables_miscellaneous.gif[image] + +== Remember variable name in component + +This preference determines whether the widget's name is set in the widget's *name* property. \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_border.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_border.adoc new file mode 100644 index 000000000..be585e8e4 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_border.adoc @@ -0,0 +1,171 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += Border Editor + +image:images/property_editor_border1.gif[image,width=237,height=18] + +Click the image:images/ellipses.gif[image] button to access the *Border Editor* and configure a border. Select the +border type from the drop down list and then choose options unique to that border types. Three previews of what the +border will look like are shown at the bottom of the dialog. + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_default.gif[image] +a| +The following border types are supported: + +- xref:#BevelBorder[*BevelBorder*] +- xref:#CompoundBorder[*CompoundBorder*] +- xref:#EmptyBorder[*EmptyBorder*] +- xref:#EtchedBorder[*EtchedBorder*] +- xref:#LineBorder[*LineBorder*] +- xref:#MatteBorder[*MatteBorder*] +- xref:#SoftBevelBorder[*SoftBevelBorder*] +- xref:#TitledBorder[*TitledBorder*] +- xref:#Swing[*Swing*] +|=== + +[#BevelBorder] +== BevelBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_bevel.gif[image] +a| +- Select a bevel type: *raised* or *lowered* +- Select a *highlight outer color* +- Select a *highlight inner color* +- Select a *shadow outer color* +- Select a *shadow inner color* +- Choose a color using the *Select Color* button + + image:images/select_color.gif[image] +- Reset to the default color using the *Clear Color* button + + image:images/clear_color.gif[image] +|=== + +[#CompoundBorder] +== CompoundBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_compound.gif[image] +a| +- Create an *outside border* by clicking the *Edit* button +- Create an *inside border* by clicking the *Edit* button +- Swap the two borders using the *Swap* button +|=== + +[#EmptyBorder] +== EmptyBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_empty.gif[image] +a| +- Specify the *top*, *left*, *bottom* and *right* insets +|=== + +[#EtchedBorder] +== EtchedBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_etched.gif[image] +a| +- Select an etch type: *raised* or *lowered* +- Select a *highlight color* +- Select a *shadow color* +- Choose a color using the *Select Color* button + + image:images/select_color.gif[image] +- Reset to the default color using the *Clear Color* button + + image:images/clear_color.gif[image] +|=== + +[#LineBorder] +== LineBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_line.gif[image] +a| +- Select a *color* +- Specify the *thickness* +- Select a corner type: *square* or *rounded* +- Choose a color using the *Select Color* button + + image:images/select_color.gif[image] +- Reset to the default color using the *Clear Color* button + + image:images/clear_color.gif[image] +|=== + +[#MatteBorder] +== MatteBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_matte.gif[image] +a| +- Select a *color* +- Specify the *top*, *left*, *bottom* and *right* insets +- Choose a color using the *Select Color* button + + image:images/select_color.gif[image] +- Reset to the default color using the *Clear Color* button + + image:images/clear_color.gif[image] +|=== + +[#SoftBevelBorder] +== SoftBevelBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_softbevel.gif[image] +a| +- Select a bevel type: *raised* or *lowered* +- Select a *highlight outer color* +- Select a *highlight inner color* +- Select a *shadow outer color* +- Select a *shadow inner color* +- Choose a color using the *Select Color* button + + image:images/select_color.gif[image] +- Reset to the default color using the *Clear Color* button + + image:images/clear_color.gif[image] +|=== + +[#TitledBorder] +== TitledBorder + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_titled.gif[image] +a| +- Enter a *title* +- Select a *title justification* +- Select a *title position* +- Select a *title color* +- Create an *border* by clicking the *Edit* button +- Choose a color using the *Select Color* button + + image:images/select_color.gif[image] +- Reset to the default color using the *Clear Color* button + + image:images/clear_color.gif[image] +|=== + +[#Swing] +== Swing + +[cols="10%,90%"] +|=== +a| +image:images/property_editor_border_swing.gif[image] +a| +- Choose a built-in Swing border style +|=== \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_combobox_model.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_combobox_model.adoc new file mode 100644 index 000000000..9751f3d91 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_combobox_model.adoc @@ -0,0 +1,12 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += ComboBox Model Editor + +image:images/property_editor_combobox_model1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *ComboBox Model Editor* and enter multiple items. Each +line is treated as a separate list item. + +image:images/property_editor_combobox_model2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_key_stroke.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_key_stroke.adoc new file mode 100644 index 000000000..0eba2aa07 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_key_stroke.adoc @@ -0,0 +1,12 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += Key Stroke Editor + +image:images/property_editor_key_stroke1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *Key Stroke Editor* and enter a key stroke combination. +Any combination of modifiers can be selected as well as a single key code. + +image:images/property_editor_key_stroke2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_label_for.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_label_for.adoc new file mode 100644 index 000000000..01f3a605c --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_label_for.adoc @@ -0,0 +1,12 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += Label For Editor + +image:images/property_editor_label_for1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *Label For Editor* and select an widget to associate the +label with. + +image:images/property_editor_label_for2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_list_model.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_list_model.adoc new file mode 100644 index 000000000..ae3c09fb9 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_list_model.adoc @@ -0,0 +1,12 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += List Model Editor + +image:images/property_editor_list_model1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *List Model Editor* and enter multiple items. Each line +is treated as a separate list item. + +image:images/property_editor_list_model2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_spinner_model.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_spinner_model.adoc new file mode 100644 index 000000000..c9a1da262 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_spinner_model.adoc @@ -0,0 +1,19 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += Spinner Model Editor + +image:images/property_editor_spinner_model1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *Spinner Model Editor* and specify either a list model, +number or date model. For a list model, you can enter multiple items. Each line is treated as a separate list item. For +a number model, you can specify the number type, an initial value, a minimum value, a maximum value, and a step size. +For a date model, you can specify an initial date, start date, a stop date, and a date type. For each model, you can +test the spinner model using a preview spinner at the bottom of the editor. + +-- +image:images/property_editor_spinner_model2.gif[image] +image:images/property_editor_spinner_model3.gif[image] +image:images/property_editor_spinner_model4.gif[image] +-- \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_table_model.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_table_model.adoc new file mode 100644 index 000000000..8d6755b33 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_table_model.adoc @@ -0,0 +1,13 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += Table Model Editor + +image:images/property_editor_table_model1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *Table Model Editor* and specify the number of columns +and rows. For each column, the title, type, width, editable and resizable properties can be set. Individual cell values +can also be set in the editable table in the editor. + +image:images/property_editor_table_model2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_tree_model.adoc b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_tree_model.adoc new file mode 100644 index 000000000..779d348a6 --- /dev/null +++ b/org.eclipse.wb.swing.doc.user/html-src/properties/property_editor_tree_model.adoc @@ -0,0 +1,12 @@ +ifdef::env-github[] +:imagesdir: ../../html/properties/ +endif::[] + += Tree Model Editor + +image:images/property_editor_tree_model1.gif[image] + +Click the image:images/ellipses.gif[image] button to access the *Tree Model Editor* and enter multiple tree items. Each +line is treated as a separate tree item. Indenting an item makes it a child of the item above it. + +image:images/property_editor_tree_model2.gif[image] \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/create_data_binding_wizard.html b/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/create_data_binding_wizard.html deleted file mode 100644 index ebc7658a3..000000000 --- a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/create_data_binding_wizard.html +++ /dev/null @@ -1,149 +0,0 @@ - - -Create Data Binding Wizard - - - - -

Create Data Binding Wizard

-

Supported for JDK 1.5 - and above only

-

The tool provides two ways to quickly create new Data - Bindings: the Data Bindings menu and the bindings property in - the property pane.

- - - - - - - - - - - -
-

Data Binding Menu

-

The Data Bindings menu provides the ability to - quickly create a data binding for a widget. If the widget does not - have any data bindings, the menu immediately cascades out to show the - available properties of the widget that can be bound to a model property. If - the widget has existing data bindings, those are shown at the top of the - cascaded menu and a list of widget properties is shown in a submenu. - Clicking on an unbound property will open the Create Data - Binding wizard.
 

  -

Bindings Property

-

The bindings property in the property - pane opens up to show a list of all bindable properties of the - widget. Clicking the - - button next to an unbound property will open the Create Data - Binding wizard.

  -
-

- Choose Model

-

- The first page of the Create Data Binding wizard is used to select - the model and property to bind the selected target property to. Two types - of targets and models are supported: - - Beans and - - Widgets. The filter field above the list can be used to filter the - list of items. The - - clear button can be used to clear the filter and restore the full list.

-
-
- - - - - - - - - - -
- -
    -
  • - - Beans: any field of the current compilation unit may be selected.
  • -
-
-
-
    -
  • - - Widgets: any widget in the current compilation unit may be selected.
  • -
-
-
-
-

When any Model object is selected, -

-

its properties (bean fields or standard Swing widget - properties) are shown in the associated Properties list. Properties may be expanded to show - their nested attributes. A drop down filter menu is - available to filter the Property list by type and hide or show the advanced - properties. Supported filters are - String, Boolean, Numbers, Color, Font and - Image.

-

- - - - -

-

Once the model property has been selected, click the Finish - button to create a new data binding using default options. If you wish - to customize the properties of the data binding, click the Next - button to go to the second page of the wizard.

-

- Properties

-

- The second page of the Create Data Binding wizard is used to - customize the properties of the data binding itself. When creating a - binding, the update strategy from - target to model and model to target may be specified as well as - any strategy-specific properties (validators and converters). 

-
- - - - - - -
-   -

When the Target or Model is a Text widget and the text - property is selected, the triggering event may be specified as Swing.Modify, - Swing.FocusOut or Swing.NONE.

-

-

-

Predefined update value strategies - READ_ONCE, - READ and READ_WRITE - may be selected.

-

-

-
-

- Source

-

Clicking the Finish button will generate - the necessary data binding code which may then be seen in the Source - view. An initDataBindings() method is created, if it does not - already exist and a call to that method is added to the end of the - widget creation process. Within the initDataBindings() - method, any needed bean properties are created followed by the - creation of each binding.

-

-

-

Warning: do not edit the - initDataBinding() method by hand (without carefully matching the - code generation pattern used by the tool) as it will be regenerated - in its entirety any time the tool needs to add, remove or update a - data binding.

-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/edit_data_binding_dialog.html b/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/edit_data_binding_dialog.html deleted file mode 100644 index 008af96cf..000000000 --- a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/edit_data_binding_dialog.html +++ /dev/null @@ -1,104 +0,0 @@ - - -Edit Data Binding Dialog - - - - -

Edit Data Binding Dialog

-

Supported for JDK 1.5 - and above only

-

The tool provides two ways to quickly edit existing Data - Bindings: the Data Bindings menu and the bindings property in - the property pane.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Data Binding Menu

-

The Data Bindings menu provides the ability to quickly - edit a data binding for a widget. If the widget has existing data - bindings, those are shown at the top of the cascaded menu and a list - of widget properties is shown in a submenu. Clicking on a bound - property will open the - Edit Data Binding dialog.

 

  -

Bindings Property

-

The bindings property in the property pane - opens up to show a list of all bindable properties of the widget. - Clicking the - - button next to a bound property will open the Edit Data - Binding dialog.

-

 

-
  -
-   -

The Edit Data - Binding dialog is used to - customize the properties of the data binding itself. When editing a - binding, the update strategy from - target to model and model to target may be specified as well as - any strategy-specific properties (validators and converters).

-

When the Target or Model is a Text widget and the text - property is selected, the triggering event may be specified as Swing.Modify, - Swing.FocusOut or Swing.NONE.

-

-

-
-    -  
-   -

Predefined update value strategies - READ_ONCE, - READ and READ_WRITE - may be selected.

-

-

-
-

When binding to a <EL Expression>, a text field is - provided where the expression may be entered.

-

-

-

- Source

-

Clicking the Finish button will generate - the necessary data binding code which may then be seen in the Source - view. An initDataBindings() method is created, if it does not - already exist and a call the that method is added to the end of the - widget creation process. Within the initDataBindings() - method, any needed bean properties are created followed by the - creation of each binding.

-

-

-

Warning: do not edit the - initDataBinding() method by hand (without carefully matching the - code generation pattern used by the tool) as it will be regenerated - in its entirety any time the tool needs to add, remove or update a - data binding.

-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/example.html b/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/example.html deleted file mode 100644 index 8dac6c9ad..000000000 --- a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/example.html +++ /dev/null @@ -1,168 +0,0 @@ - - -Swing Data Binding Example - - - - -

Swing Data Binding Example

-

Supported for JDK 1.5 - and above only

- - - - -
As an example of how the the data binding tools can be - used, consider the following Phone Book example. The phone book - manages a set of phone groups. Each phone group in turn holds onto one or - more persons. For each person, various e-mail and phone contact information - is maintained. Editing a person's description should update the same data - shown in the list. The final code for the Phone Book project is available - here.
-
    -
  1. -

    Use Designer to create the skeleton of the - JPhoneBook.java class
    -
    -

  2. -
  3. -

    Create the following model classes:

  4. -
-
-
    -
  • -

    Class Person with properties: name, - email, phone, mobilePhone1, mobilePhone2

  • -
  • -

    Class PhoneGroup with properties: name, - persons

  • -
  • -

    Class PhoneGroups with properties: - groups

  • -
-
-
    -
  1. -

    Add the following to the JPhoneBook class:
    -
    -     private PhoneGroups - m_groups = new PhoneGroups();
    -

    - And add some initial data:
    -
    -     PhoneGroup group1 = new - PhoneGroup("Developer Team");
    -    m_groups.addGroup(group1);
    -    group1.addPerson(new Person("Konstantin Scheglov", - "kosta@nospam.com", "1234567890", "", ""));
    -    group1.addPerson(new Person("Alexander Mitin", - "mitin@nospam.com", "", "0987654321", ""));
    -    group1.addPerson(new Person("Alexander Lobas", - "lobas@nospam.com", "", "", "111-222-333-00"));

  2. -
  3. -

    Set the content for the group viewer. Click the - Bindings tab in the editor. Select m_groupList in the - Targets (Widgets) - list, <Self Object> in the Target Properties list, select m_groups in the - - Model (Beans) list, and groups in the Model Properties list. -

    -
    -

     

  4. -
  5. -

    Click the - - Bind button to open the Create Data Binding dialog. m_groups.group - contains elements of type PhoneGroup, so select the type - PhoneGroup and its <EL Expression> property. In the EL - Expression field, type "${name} ({$personCount})". Note that selecting - the name property would result in just the name of the group - being displayed. You can use EL Expressions to create more complex - results. In this case, we can show the name plus the number of people in - the group.
    -
    -  

  6. -
  7. -

    Click OK to see m_groups.groups bound to - m_groupsList in the table. You can also see that the detail - binding between m_groupsList and the EL Expression has - also been created.
    -
    -

  8. -
  9. -

    Run the application to see that the list of phone - groups is populated and that each group shows its person count.
    -
    -

  10. -
  11. -

    Next we would like selecting a group to show all of - its contained persons. Switch back to the - Bindings tab. - Select the <Self Object> of the m_personTable in the Target - Widget list and - m_groupList and selectedElement/persons in the Model Widget list and click the - - Bind button to open the Create Data Binding dialog.
    -
    - -

  12. -
  13. -

    We need to show the properties of a Person object in - m_personTable, so click the Add button to add a table column - binding for each property (name, email, phone, - mobilePhone1 and mobilePhone2). You can order the Person - properties using the << and >> buttons
    -
    -  

  14. -
  15. -

    Click OK twice and run the application. See - that selecting a group now updates the Persons list.
    -
    -

  16. -
  17. -

     Switch back to the - Bindings tab. Next we need to bind selectedElement of the m_personTable (a - Person object) into the various text editors.
    -
    -

  18. -
  19. -

    Select the first Text widget (m_nameTextField) - and its text property and the m_personTable and its - selectedElement/name property. Click the - - Bind button to open the Create Data Binding dialog. Leave - everything set to the defaults and click the OK button.
    -
    -

  20. -
  21. -

    Bind each selectedElement property to its associated - Text field.
    -
    -

  22. -
  23. -

    Run the application. See that selecting a - group updates the Persons list and selecting a Person now - updates each of the Text fields.
    -
    -

  24. -
  25. -

    Also note that changing any of the data in the text - fields immediately updates the data in the table. The magic of data - binding!
    -
    -

  26. -
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/index.html b/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/index.html deleted file mode 100644 index ef9867c52..000000000 --- a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/index.html +++ /dev/null @@ -1,109 +0,0 @@ - - -Swing Data Binding - - - - -

Swing Data Binding

-
-

Note: In order to use Swing Data - Binding (JSR 295), you must first add the Swing Data Binding jar (e.g., - beansbinding-1.2.1.jar) to your classpath.

-

The tool can create new Data Bindings in several - different ways:

-
    -
  • -

    Click the - Bindings tab in the editor to created and edit - the bindings.

  • -
  • -

    Right-clicking on a widget and selecting the - Data Binding menu.

  • -
  • -

    Expanding the bindings property in the - property pane.

  • -
  • -

    Use the - Swing Automatic Data Binding - wizard to create a complete user interface from a domain (bean) - class.

  • -
-

The tool will generate or update any necessary data binding - code which may then be seen in the Source - view.

-

Detailed data binding example - code is available here.

-
-

Data Binding Tab

-

Click the - Bindings tab in the editor to created and edit - data bindings.

-

-

-

-

-

The Bindings tab supports the creation - - JSR 295 Swing data bindings.

-

Data Binding Menu

-

The Data Bindings menu provides the ability to - quickly create or edit data bindings for a widget. If the widget does not - have any data bindings, the menu immediately cascades out to show the - available properties of the widget that can be bound to a model property. If - the widget has existing data bindings, those are shown at the top of the - cascaded menu followed by a separator and a list of widget properties. - Clicking on an unbound property will open the - Create Data - Binding wizard while clicking a bound property will open - the Edit Data Binding - dialog.

-

- .

-

Bindings - Property

-

The bindings property in the property - pane opens up to show a list of all bindable properties of the - widget. Clicking the - - button next to an unbound property will open the - Create Data - Binding wizard while clicking the - - button next to a bound property will open the - Edit Data Binding dialog.

-

- .

-

Automatic Data Binding Wizard

-

The - Swing Automatic Data Binding wizard can be used - to create new user interface classes (Composites, Dialogs or Windows) - complete with widgets, layouts and data bindings from arbitrary domain model - (bean) classes..

-

-   -

-

Icon - Decorator

-

Any widget with a data binding assigned to will show up in - the component tree with an icon decorator:  -   -

-

-

-

- Source

-

The tool will generate or update any necessary data binding - code which may then be seen in the Source view. An initDataBindings() - method is created, if it does not already exist and a call to that - method is added to the end of the widget creation process.

-

Within the initDataBindings() method, any needed - bean properties are created followed by the creation of each binding.

-

-

-

Warning: do not edit the initDataBinding() - method by hand (without carefully matching the code generation pattern used - by the tool) as it will be regenerated in its entirety any time - the tool needs to add, remove or update a data binding.

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/swing_bindings.html b/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/swing_bindings.html deleted file mode 100644 index 72921cea4..000000000 --- a/org.eclipse.wb.swing.doc.user/html/features/swing/data_binding/swing_bindings.html +++ /dev/null @@ -1,144 +0,0 @@ - - -Swing Data Bindings - - - - -

Swing Data Bindings

-

Supported for JDK 1.5 - and above only

-

Click the - Bindings tab in the editor to created and edit - data bindings.

-

-

-

-

-

Swing uses simple bindings between targets and models.

-

Target & Model Types

-

Two types of targets and models are supported:

-
    -
  • -

    - - Beans: any field of the current compilation unit may be selected. - The filter field above the list can be used to filter the list of beans. - The - - clear button can be used to clear the filter and restore the full list. - Beans are the primary data source for bindings (usually the - model). Any property of the Bean may be observed. Individual - beans may also be expanded to reveal their direct sub properties.
    -
    -     -

  • -
  • -

    - - Widgets: any widget in the current compilation unit may be selected. - If a widget is not a field, it will be converted to a field - automatically. The filter field above the list can be used to filter the - list of widgets. The - - clear button can be used to clear the filter and restore the full list. - Any property of the Widget may be observed.
    -
    -      -

  • -
-

Properties

-

When any Target or Model object is selected, - its properties (bean fields or standard Swing widget properties) are shown - in the associated Properties list. Properties may be expanded to show - their nested attributes. A drop down filter menu is - available to filter the Property list by type and hide or show the advanced - properties. Supported filters are - String, Boolean, Numbers, Color, Font and - Image.

-

- - - - -

-

New Swing Bindings

-

New bindings are created by selecting a Target, a - Target Property, a Source, a Source Property and - clicking the - - Bind button. When creating a binding, the update strategy from - target to model and model to target may be specified as well as - any strategy-specific properties (converter and validator).

-

-

-

When the Target or Model is a Text widget and the text - property is selected, the triggering event may be specified as Swing.Modify, - Swing.FocusOut or Swing.NONE.

-

-

-

Predefined update value strategies - READ_ONCE, - READ and READ_WRITE - may be selected.

-

-

-

When binding to a <EL Expression>, a text field is - provided where the expression may be entered.

-

-

-

- When binding a JList to a collection of model objects, the detail of the - model (what is shown in the list) can be specified.

-

-

-

- When binding a JTable to a collection of model objects, column bindings may - be added for each model object property.

-

-

-

Existing Swing Bindings

-

At the top of the page, existing Bound Properties - are listed. The Target and Model are shown as well as the - Strategy and the Binding variable name.

-

-

-

Clicking the - - Edit button or Edit menu opens the Edit Binding dialog - where the update strategy, converter and validator may be modified.

-

-

-

The - - Delete button or Delete menu is used to delete the selected - bound property while the - - Delete All button or Delete All menu is used to delete all of - the bound properties.

-

The - - Move Up and - - Move Down buttons and menus are used to change the order of the - bindings while the - - Goto Definition button and menu are used to jump to the generated - code for the binding.

-

- Source

-

As bindings are created or edited on the Bindings tab, - the necessary data binding - code is generated which may then be seen in the Source view. An initDataBindings() - method is created, if it does not already exist and a call to that - method is added to the end of the widget creation process.

-

Within the initDataBindings() method, any needed - bean properties are created followed by the creation of each binding.

-

-

-

Warning: do not edit the initDataBinding() - method by hand (without carefully matching the code generation pattern used - by the tool) as it will be regenerated in its entirety any time - the tool - needs to add, remove or update a data binding.

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/features/swing_code_generation.html b/org.eclipse.wb.swing.doc.user/html/features/swing_code_generation.html deleted file mode 100644 index 676330069..000000000 --- a/org.eclipse.wb.swing.doc.user/html/features/swing_code_generation.html +++ /dev/null @@ -1,185 +0,0 @@ - -Preferences - Swing > Code Generation - - - -

Swing Code Generation

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Swing Designer supports a wide variety of code generation styles - and can emulate most other Java GUI builders including NetBeans, - JBuilder, the Eclipse Visual Editor, etc. Choose a - Variable - Generation style (Local, - Field, Initialized Field or - Lazy) and a Statement Generation style (Flat or - Block). Many of the styles have additional options that can be set. - Once any combination of settings is selected, you can see a preview of - that code generation style in the Preview pane. -

- You can also specify in which method components will be created by default - (in the event that a suitable method has not already be - defined for the current class). If the method does not exist, it will be - created and a call to it added to the constructor for the class. Various - default choices are provided to match the code generation patterns of - other GUI builders.

- Variable - generation

-

Swing Designer supports several Variable Generation - styles including Local, Field, - Initialized Field or - Lazy.

-

Local Variable Mode

-

-

- In the Local variable generation style, each component is - assigned to a unique local variable and initialized at the point of - declaration. An option is provided to declare each variable as final. - Note that component types marked as As Field on the - Variables > Type - Specific preference page will always be assigned to fields.

Local - Variables / Flat Mode
-
-
Final Local - Variables / Flat Mode
-
-
Local - Variables / Block Mode
-
-
Final Local - Variables / Block Mode
-
-
-

Field Mode

-

-

- In the Field generation style, each component is - assigned to a unique field and initialized at the point where it is - first used. An option is provided to prefix each field reference with - this.

Fields / Flat Mode
-
-
This - Fields / Flat Mode
-
-
Fields / Block Mode
-
-
This - Fields / Block Mode
-
-
-

Initialized Field Mode

-

-

- In the Initialized Field generation style, each component is - assigned to a unique field and initialized at the point at the point of - declaration. An option is provided to prefix each field reference with - this.

- Initialized Fields / Flat Mode
-
-
- Initialized This Fields / Flat Mode
-
-
- Initialized Fields / Block Mode
-
-
- Initialized This Fields / Block Mode
-
-
-

Lazy Mode

-

-

- In the Lazy generation style, each component is created in its - own unique getXXX() method. An option is provided to set the - visibility modifier to private, package private, - protected or public.

Lazy - Private Mode
-
-
Lazy - Public Mode
-
-

- Statement - generation

-

Swing Designer supports flat mode and block mode - generation modes.

-

Flat Mode

-

-

-

In flat mode, each component is created in the same scope at - the same indentation level. An option is provided to prefix the creation - of each component with either a blank line or a comment.

-

Block Mode

-

-

-

In block mode, each component is created in its own scoped - code block. Child components are created in nested blocks.

Local - Variables / Flat Mode
-
-
Local - Variables / Block Mode
-
-
Fields / Flat Mode
-
-
Fields / Block Mode
-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/absolutelayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/absolutelayout.html deleted file mode 100644 index e610fd936..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/absolutelayout.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - Swing Absolute Layout - - - - -

Swing Absolute Layout

- - - - -
Absolute Layout or Null Layout is a simple x,y - oriented layout. During layout, the live component is shown moving with a tooltip showing its -current location or size. Dynamic snap / alignment points are provided to make it -convenient to align the component with other components or the window margin. - Resizing a component also snaps to the preferred size of the resized - component or to the size (vertical or horizontal) of any other component - on the same parent. -

-

Main Features

-
    -
  • Select Absolute Layout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all widget size and - position operations
  • -
-
-

-   -

-
-

-

Graphical Feedback

-
    -
  • Position and size widgets using snapping feedback
  • -
-
-

-   -

-
-
    -
  • Provide position and size feedback via tooltips
  • -
-
-

-   -

-
-
    -
  • Align widgets horizontally and vertically
  • -
-
-

-   -

-
-
    -
  • Indent widgets intelligently
  • -
-
-

-

-
-
    -
  • Align widgets along text baselines
  • -
-
-

-   -

-
-
    -
  • Align widgets to margins
  • -
-
-

-

-
-
    -
  • Replicate widget heights and widths
  • -
-
-

-   -

-
-
    -
  • Align widgets using optional grid
  • -
-
-

-

-
-
    -
  • Align and center widgets using toolbar
  • -
-
-

-

-
-
    -
  • Set alignment and size using floating layout assistant
  • -
  • Set size, location and/or bounds properties using - the - - Property Pane
  • -
-
-

-   -

-
-

 

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/borderlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/borderlayout.html deleted file mode 100644 index 732046af8..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/borderlayout.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - Swing BorderLayout - - - - -

Swing BorderLayout

- - - - -
BorderLayout lays out a container, arranging and resizing its - components to fit in five regions: north, south, east, - west, and center. Each region may contain no more than one - component, and is identified by a corresponding constant: NORTH, - SOUTH, EAST, WEST, and CENTER. When adding a - component to a container with a border layout, use one of these five - constants. As a convenience, BorderLayout interprets the absence - of a string specification the same as the constant CENTER. -

-

Main Features

-
    -
  • Select BorderLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all drop and move - interactions
  • -
-
-

  -

-
-
    -
  • Horizontal and vertical gaps can be specified using the - Property Pane
  • -
-
-

  -

-
- -
-

-

-
-

-

Graphical Feedback

-
    -
  • When moving a widget or adding a new widget, open cells are - highlighted green while the current drop point is highlighted in yellow
    -
    -   -
  • -
  • Attempting to drop into an already occupied cell is blocked
    -
    -
  • -
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/boxlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/boxlayout.html deleted file mode 100644 index 452ab68d3..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/boxlayout.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - Swing BoxLayout - - - - -

Swing BoxLayout

- - - - -
BoxLayout allows multiple components to be laid out either - vertically or horizontally. The components will not wrap so, for - example, a vertical arrangement of components will stay vertically - arranged when the frame is resized. Nesting multiple panels with - different combinations of horizontal and vertical gives an effect - similar to GridBagLayout, without the complexity. The - BoxLayout manager is constructed with an axis parameter that - specifies the type of layout that will be done. For all directions, - components are arranged in the same order as they were added to the - container.
-
- BoxLayout attempts to arrange components at their preferred - widths (for horizontal layout) or heights (for vertical layout). For a - horizontal layout, if not all the components are the same height, - BoxLayout attempts to make all the components as high as the highest - component. If that's not possible for a particular component, then - BoxLayout aligns that component vertically, according to the - component's Y alignment. By default, a component has a Y alignment of - 0.5, which means that the vertical center of the component should have - the same Y coordinate as the vertical centers of other components with - 0.5 Y alignment. Similarly, for a vertical layout, BoxLayout - attempts to make all components in the column as wide as the widest - component. If that fails, it aligns them horizontally according to their - X alignments. -

-

Main Features

-
    -
  • Select BoxLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all drop and move - interactions
  • -
-
-

-   -

-
- -
-

-

-
-
    -
  • Graphically show area occupied by struts and springs (glue)
  • -
-
-

-

-
-
    -
  • Graphically resize struts and rigid areas via dragging
  • -
-
-

-   -

-
-
    -
  • Direct-edit (hit space bar) struts and rigid areas to resize - them
  • -
-
-

-   -

-
- -
-

-   -

-
- -
-

  -

-
-
    -
  • Widget alignment within the BoxLayout can be set using - the - Property Pane
  • -
-
-

-
-
    -
  • Note that struts and rigid areas can be used as invisible spacer - objects in other layouts as well
  • -
-
-

-   -

-

-   -

-
-

-

Graphical Feedback

-
    -
  • When moving a widget or adding a new widget, the current drop - point is highlighted in red
    -
    -   -
    -   -
  • -
  • Resize struts and rigid areas by dragging or direct edit
  • -
-
-

-   -

-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/cardlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/cardlayout.html deleted file mode 100644 index 101b08def..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/cardlayout.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - Swing GridLayout - - - - -

Swing CardLayout

- - - - -
A CardLayout object is a layout manager for a container. It - treats each component in the container as a card. Only one card is - visible at a time, and the container acts as a stack of cards. The first - component added to a CardLayout object is the visible component - when the container is first displayed. The ordering of cards is - determined by the container's own internal ordering of its component - objects. CardLayout defines a set of methods that allow an - application to flip through these cards sequentially, or to show a - specified card.

-

Main Features

-
    -
  • Select CardLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • When adding a new widget, the current drop point is - highlighted in green
  • -
-
-

-   -

-
-
    -
  • Switch between cards using the up/down arrows in the upper - right corner
  • -
-
-

-   -

-
-
    -
  • Horizontal and vertical margins can be specified using the - Property Pane
  • -
-
-

-   -

-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/flowlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/flowlayout.html deleted file mode 100644 index 00771d145..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/flowlayout.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Swing FlowLayout - - - - -

Swing FlowLayout

- - - - -
A FlowLayout arranges components in a directional flow, much - like lines of text in a paragraph. FlowLayouts are typically used - to arrange buttons in a panel. It arranges buttons horizontally until no - more buttons fit on the same line. The line alignment is determined by - the align property. -

-

Main Features

-
    -
  • Select FlowLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all drop and move - interactions
  • -
-
-

-   -

-
-
    -
  • Horizontal and vertical gaps can be specified using the - Property Pane
  • -
-
-

  -

-
-
    -
  • Horizontal alignment can be specified using the - Property Pane
  • -
-
-

-   -

-
-

-

Graphical Feedback

-
    -
  • When moving a widget or adding a new widget, the current drop - point is highlighted in red
    -
    -   -
    -   -
  • -
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/gridlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/gridlayout.html deleted file mode 100644 index 941f6d37c..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/gridlayout.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Swing GridLayout - - - - -

Swing GridLayout

- - - - -
The GridLayout class is a layout manager that lays out a - container's components in a rectangular grid. The container is divided - into equal-sized rectangles, and one component is placed in each - rectangle. When both the number of rows and the number of columns have - been set to non-zero values, either by a constructor or by the - setRows and setColumns methods, the number of columns - specified is ignored. Instead, the number of columns is determined from - the specified number of rows and the total number of components in the - layout. So, for example, if three rows and two columns have been - specified and nine components are added to the layout, they will be - displayed as three rows of three columns. Specifying the number of - columns affects the layout only when the number of rows is set to zero. -

-

Main Features

-
    -
  • Select GridLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all drop and move - interactions
  • -
-
-

-   -

-
-
    -
  • Horizontal and vertical gaps can be specified using the - Property Pane
  • -
-
-

-   -

-
-
    -
  • The number of columns and rows can be specified using the - Property Pane
  • -
-
-

-   -

-
-

-

Graphical Feedback

-
    -
  • When moving a widget or adding a new widget, the current drop - point is highlighted in red
    -
    -   -
    -   -
  • -
-
-

 

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/grouplayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/grouplayout.html deleted file mode 100644 index f81c9aa30..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/grouplayout.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - Swing GroupLayout - - - - -

Swing GroupLayout

-

GroupLayout is a LayoutManager that hierarchically groups components -in order to position them in a Container. GroupLayout is intended for use -by builders, but may be hand-coded as well. Grouping is done by instances of the -Group class. GroupLayout supports two types of groups. A -sequential group positions its child elements sequentially, one after another. A -parallel group aligns its child elements in one of four ways.
-
-Each group may contain any number of elements, where an element is a Group, -Component, or gap. A gap can be thought of as an invisible component with -a minimum, preferred and maximum size. In addition GroupLayout supports a -preferred gap, whose value comes from LayoutStyle.
-
-Elements are similar to a spring. Each element has a range as specified by a -minimum, preferred and maximum. Gaps have either a developer-specified range, or -a range determined by LayoutStyle. The range for Components is determined -from the Component's getMinimumSize, getPreferredSize and -getMaximumSize methods. In addition, when adding Components you may specify -a particular range to use instead of that from the component. The range for a -Group is determined by the type of group. A ParallelGroup's range is -the maximum of the ranges of its elements. A SequentialGroup's range is -the sum of the ranges of its elements.
-
-GroupLayout treats each axis independently. That is, there is a group -representing the horizontal axis, and a group representing the vertical axis. -The horizontal group is responsible for determining the minimum, preferred and -maximum size along the horizontal axis as well as setting the x and width of the -components contained in it. The vertical group is responsible for determining -the minimum, preferred and maximum size along the vertical axis as well as -setting the y and height of the components contained in it. Each Component must -exist in both a horizontal and vertical group, otherwise an -IllegalStateException is thrown during layout, or when the minimum, -preferred or maximum size is requested.

- -

-

Main Features

-
    -
  • Select GroupLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all widget size and - position operations
  • -
-
-

-   -

-
-

-

Graphical Feedback

-
    -
  • Position and size widgets using GroupLayout constraints
  • -
-
-

-   - E

-
-
    -
  • Align widgets horizontally and vertically
  • -
-
-

-   -

-
-
    -
  • Indent widgets intelligently
  • -
-
-

  -

-
-
    -
  • Insert widgets intelligently
  • -
-
-

-   -

-
-
    -
  • Align widgets along text baselines
  • -
-
-

-   -

-
-
    -
  • Align widgets to margins
  • -
-
-

-   -

-
-
    -
  • Anchor widgets to the left, right or both sides
  • -
-
-

-   -   -

-
-
    -
  • Anchor widgets to the top, bottom or both sides
  • -
-
-

-   -   -

-
-
    -
  • Set anchors via popup context menus
  • -
-
-

-   -

-
-
    -
  • Set widget anchoring and resizing via context menu
  • -
-
-

  -

-
-
    -
  • Align and center widgets using toolbar
  • -
-
-

-

-
-
    -
  • Set alignment, size and spacing using floating layout assistant
  • -
-
-

-   -

-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/index.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/index.html deleted file mode 100644 index 800b64342..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/index.html +++ /dev/null @@ -1,51 +0,0 @@ - -Swing Designer Layout Managers - - - -

Swing Designer Layout Managers

-

Swing Designer supports the following layout managers.

- - - - - - - - - - - - - - - - - - - -
Absolute Layout

-

- FlowLayout

-

BorderLayout

-

- GridLayout

-

GridBagLayout

-

-
- CardLayout

-

- SpringLayout

- -

- GroupLayout

- -

- BoxLayout

- -

JGoodies FormLayout

-

- MiGLayout

-

 
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/jgoodies_formlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/jgoodies_formlayout.html deleted file mode 100644 index ffa29c786..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/jgoodies_formlayout.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - JGoodies Form Layout - - - - -

JGoodies FormLayout

- - - - -
JGoodies FormLayout is a powerful, flexible and precise - general purpose layout manager. It aligns components vertically and - horizontally in a dynamic rectangular grid of cells, with each component - occupying one or more cells. A whitepaper about the FormLayout - available online. - To use FormLayout you first define the grid by specifying the - columns and rows. In a second step you add components to the grid. You - can specify columns and rows via human-readable String descriptions or - via arrays of ColumnSpec and RowSpec instances. Each - component managed by a FormLayout is associated with an instance - of CellConstraints. The constraints object specifies where a - component should be located on the form's grid and how the component - should be positioned. In addition to its constraints object the - FormLayout also considers each component's minimum and preferred - sizes in order to determine a component's size.

Note that JGoodies FormLayout support is only - available in the Professional version of the product.
- This layout also requires the use of the JGoodies FormLayout jar file - (forms-1.0.6.jar or higher).

- -

-
-

This feature is based on - technology from the JGoodies Forms.
- - http://www.jgoodies.com/freeware/forms/
- Copyright © 2002-2009 JGoodies Karsten Lentzsch

-
-

Main Features

-
    -
  • Select JGoodies FormLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • The JGoodies FormLayout jar file (forms-1.1.0.jar) will automatically be added - to your project and the classpath adjusted
  • -
  • Graphical feedback is provided for all column, row and cell - interactions
  • -
  • Column and row properties may be changed via a popup menu or - property dialog
  • -
  • Convert existing layouts (null, GridBagLayout, etc.) to - JGoodies - FormLayout with intelligent column, row and gap creation
  • -
-
-

-

-
-
    -
  • Automatically add gaps when adding new columns or rows
  • -
-

Popup Header Menu

-
    -
  • Right-click on the header area to access the popup header menu
  • -
-
  -   -
-
    -
  • Insert new columns or rows before the current column or row
  • -
  • Add a new column or row at the end of the current list
  • -
  • Delete entire columns or rows or just their widget contents
  • -
  • Set the column alignment to left, right, center or fill
  • -
  • Specify that the column or row should grow to fill the - available space
  • -
  • Group or ungroup columns or rows
  • -
  • Set the sizing spec that should be used for the column or row - (various column, row and gap types are available)
  • -
  • Edit the properties of the current column or row
  • -
-

-

Graphical Feedback

-
    -
  • When moving a widget or adding a new widget, open cells are - highlighted green while populated cells are highlighted red and - insertion points are highlighted in yellow
    -
    - - -
  • -
  • Phantom drop point to the right and below the current cells - will create new columns, rows and gaps as needed
    -
    - -
  • -
-
    -
  • The currently selected cell shows its column and row spanning - handles and alignment handles

    -

  • -
-
    -
  • Set the alignment of a cell using its popup alignment menu or the - toolbar
  • -
-
-

-

-

- -

-
-
    -
  • Right-click on a column to set its grow property
  • -
-
-

-

-
-
    -
  • Grouped columns and rows are color highlighted to indicate - which are in the same group
  • -
-
-

- -

-
-
    -
  • Column and row sizing handles make it easy to set the size - of a column or row
  • -
-
-

- -
-
- -

-
-
    -
  • Reorder columns and rows by dragging them (with their - associated gap columns or rows)
  • -
-
-

- - -

-
-
    -
  • Column and rows borders are indicated with gray lines
  • -
-
-

-

-
-
    -
  • Interactive column and row spanning feedback is provided
  • -
-
-

-

-
-
    -
  • Full keyboard support for quickly changing alignment values
  • -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Cells
D default horizontal
Shift+D default vertical
F fill horizontal
Shift+F fill vertical
L, C, R left/center/right for horizontal
T, M, B top/middle/bottom for vertical
-
-

Column & Row Editing

-
    -
  • Double click on a column or row to access its property - dialog
  • -
  • Switch between columns and rows using the arrow buttons
  • -
-
- -
-
    -
  • Select from any of the predefined column or gap templates
  • -
-
-

- -

-
-
    -
  • Set the column or row alignment
  • -
  • Specify the resize behavior and the relative weights of each - column or row
  • -
  • Set the size of the column or row
      -
    • Specify a constant size in a variety of units
    • -
    • Specify minimum and maximum sizes
    • -
    -
  • -
-
-

- -

-
-
    -
  • Floating layout assistant for constraints -
  • -
-
-

-

-
-
    -
  • Open the Columns or Rows editing dialog from the - Property Pane or the right-click context menu of the panel.
  • -
-
-

-   -

-
-
    -
  • Insert or add new columns and rows
  • -
  • Open the property dialog for an individual column or row
  • -
  • Group and ungroup columns or rows
  • -
  • Rearrange the order of the columns or rows
  • -
-
-

-
-
-

-
-


- Preferences

-
    -
  • Control whether automatic grab is used for text widgets, - comboboxes, tables, etc.
  • -
-
-

-   -

-
-
    -
  • Control whether labels are automatically right-aligned when - next to a text widget
  • -
-
-

-   -

-
-

Source Code - Generation & Parsing

-
    -
  • Intelligently convert existing layouts (null, GridBagLayout, etc.) to - JGoodies - FormLayout with column, row and gap creation
  • -
  • Generated code will use predefined FormFactory constants as - necessary
  • -
  • Parser can understand reused CellConstraint objects
  • -
  • Parser supports all CellConstraint styles
      -
    • Creation methods intended for use by humans
      - CellConstraints cc = new CellConstraints();
      - cc.xy(2, 1); // second col, first row
      - cc.xy(2, 1, "right, bottom"); // aligned to right and bottom
      - cc.xy(2, 1, "r, b"); // abbreviated alignment
      - cc.xywh(2, 1, 4, 3); // spans 4 cols, 3 rows
      - cc.xywh(2, 1, 4, 3, "right, bottom");
      - cc.xywh(2, 1, 4, 3, "r, b");
    • -
    • Constructors intended for builders
      - new CellConstraints(); // first col, first row
      - new CellConstraints(2, 1);
      - new CellConstraints(2, 1, 4, 3);
      - new CellConstraints(2, 1, CellConstraints.RIGHT, - CellConstraints.BOTTOM);
    • -
    • Constructors intended for building UIs from XML
      - CellConstraints cc = new - CellConstraints();
      - new CellConstraints("2, 1");
      - new CellConstraints("2, 1, r, b");
      - new CellConstraints("2, 1, 4, 3");
      - new CellConstraints("2, 1, 4, 3, r, b");
    • -
  • -
-
-

-  

-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/miglayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/miglayout.html deleted file mode 100644 index 64b82d085..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/miglayout.html +++ /dev/null @@ -1,314 +0,0 @@ - - - - - MiG Layout - - - - -

MiGLayout

- - - - -
- - - - -
-

MiGLayout is the most versatile and - flexible Swing and SWT Layout Manager for Java, yet it is very - easy to learn and use. It is using String or API - type-checked constraints to format the layout. MiGLayout - can produce flowing, grid based, absolute (with links), grouped - and docking layouts. You will never have to switch to another - layout manager ever again! MiGLayout is created to be to - manually coded layouts what Matisse/GroupLayout is to IDE - supported visual layouts.

-

Note that MiGLayout support is only - available in the Professional version of the product.
- This layout also requires the use of the MiGLayout jar file - (miglayout-3.6.jar or higher).

- -

-
-

This feature is based on - technology from MiG InfoCom AB.
- - http://www.miglayout.com/
- Copyright © 2006-2007 MiG InfoCom AB

-
-

Main Features

-
    -
  • Select MiGLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • The MiGLayout jar file (miglayout-3.6.jar) will automatically be added - to your project and the classpath adjusted
  • -
  • Graphical feedback is provided for all column, row and cell - interactions
  • -
  • Column and row properties may be changed via a popup menu or - property dialog
  • -
  • Convert existing layouts (null, GridBagLayout, etc.) to - MiGLayout with intelligent column and row creation
  • -
-
-

-

-
-

Popup Header Menu

-
    -
  • Right-click on the header area to access the popup header menu
  • -
-
  -   -
-
    -
  • Insert new columns or rows before the current column or row
  • -
  • Add a new column or row at the end of the current list
  • -
  • Delete entire columns or rows or just their widget contents
  • -
  • Set the column alignment to left, right, center or fill
  • -
  • Specify that the column or row should grow to fill the - available space
  • -
  • Set columns and rows to default or preferred sizes
  • -
  • Edit the properties of the current column or row
  • -
-

-

Graphical Feedback

-
    -
  • When moving a widget or adding a new widget, open cells are - highlighted green while populated cells are highlighted red and - insertion points are highlighted in yellow
    -
    - - -
  • -
  • Phantom drop point to the right and below the current cells - will create new columns and rows as needed
    -
    - -
  • -
-
    -
  • The currently selected cell shows its column and row spanning - handles and alignment handles

    -

  • -
-
    -
  • Set the alignment of a cell using its popup alignment menu or the - toolbar
  • -
-
-

-

-

- -

-
-
    -
  • Right-click on a column to set its grow property
  • -
-
-

-

-
-
    -
  • Column and row sizing handles make it easy to set the size - of a column or row
  • -
-
-

- -
-
- -

-
-
    -
  • Reorder columns and rows by dragging them
  • -
-
-

- - -

-
-
    -
  • Column and rows borders are indicated with gray lines
  • -
-
-

-

-
-
    -
  • Interactive column and row spanning feedback is provided
  • -
-
-

-

-
-
    -
  • Split cells horizontally or vertically
  • -
-
-

  -

-
-
    -
  • Full keyboard support for quickly changing alignment values
  • -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Cells
D default horizontal
Shift+D default vertical
F fill horizontal
Shift+F fill vertical
L, C, R left/center/right for horizontal
T, M, B top/middle/bottom for vertical
-
-

Column, Row & Cell Editing

-
    -
  • Double click on a column or row to access its property - dialog
  • -
  • Switch between columns and rows using the arrow buttons
  • -
-
- -
-
    -
  • Enter arbitrary specifications into the Specification field
  • -
  • Set the column or row alignment
  • -
  • Specify the resize behavior and the relative weights of each - column or row
  • -
  • Set the minimum, maximum and preferred size of the column or row
  • -
-
-

-

-
-
    -
  • Floating layout assistant for cell constraints -
  • -
-
-

-

-
-
    -
  • Edit individual constraint properties for each widget in the - Property Pane or the right-click context menu of the - widget..
  • -
-
-

  -

-
-
    -
  • Click the "..." button to specify an arbitrary cell constraint - specification (such as docking)
  • -
-
-

-   -

-
-
    -
  • Specify arbitrary layout, column & row constraints (such as panel insets)
  • -
-
-

-   -

-

-
-
    -
  • Open the Columns or Rows editing dialog from the - Property Pane or the right-click context menu of the panel.

    -   -

    -

     

  • -
  • Insert or add new columns and rows
  • -
  • Open the property dialog for an individual column or row
  • -
  • Rearrange the order of the columns or rows
  • -
-
-

-
-

Preferences

-
    -
  • Control whether automatic grab is used for text widgets, - comboboxes, tables, etc.
  • -
-
-

-   -

-
-
    -
  • Control whether labels are automatically right-aligned when - next to a text widget
  • -
-
-

-   -

-
-

Source Code - Generation & Parsing

-
    -
  • Intelligently convert existing layouts (null, GridBagLayout, etc.) to - MiGLayout with column and row creation
  • -
  • Generated code will use string-based constants
  • -
-
-

-  

-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/springlayout.html b/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/springlayout.html deleted file mode 100644 index a3ff8edaf..000000000 --- a/org.eclipse.wb.swing.doc.user/html/layoutmanagers/swing/springlayout.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Swing SpringLayout - - - - -

Swing SpringLayout

-

SpringLayout class that implements an constraint-based layout manager. With -constraint-based layout, you have independent control over the sizing behavior -of each of the four sides of a widget. The top, bottom, left, and right sides -can be independently attached to the sides of the parent container or the sides -of any sibling widget within the same container using either fixed or relative -offsets. This proves to be surprisingly powerful and can be used to emulate -almost any of the other layout managers. The SpringLayout class is very simple -and only specifies the margins of the container.

- -

-

Main Features

-
    -
  • Select SpringLayout from the Layouts palette and - drop it on a JFrame or JPanel
  • -
-
-

-

-
-
    -
  • Graphical feedback is provided for all widget size and - position operations
  • -
-
-

-   -

-
-

-

Graphical Feedback

-
    -
  • Position and size widgets using SpringLayout constraints
  • -
-
-

-   -

-
-
    -
  • Align widgets horizontally and vertically
  • -
-
-

-   -

-
-
    -
  • Indent widgets intelligently
  • -
-
-

-   -

-
-
    -
  • Align widgets to margins
  • -
-
-

-   -   -

-
-
    -
  • Anchor widgets to the left, right or both sides
  • -
-
-

-   -   -

-
-
    -
  • Anchor widgets to the top, bottom or both sides
  • -
-
-

-   -   -

-
-
    -
  • Set anchors via popup context menus
  • -
-
-

-   -

-
-
    -
  • Align and center widgets using toolbar
  • -
-
-

-

-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/palettes/swing_palette.html b/org.eclipse.wb.swing.doc.user/html/palettes/swing_palette.html deleted file mode 100644 index 6f4b59ebb..000000000 --- a/org.eclipse.wb.swing.doc.user/html/palettes/swing_palette.html +++ /dev/null @@ -1,270 +0,0 @@ - -Swing Designer Palette - - - - - - - - - - -

Swing Designer Palette

-

Swing Designer provides the following palette for creating Swing - applications.

-

The palette may be fully configured using the - Palette Manager.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
    -
  • JPanel - A generic lightweight container.
  • -
  • JScrollPane -- Provides a scrollable view of a lightweight component. A JScrollPane -manages a viewport, optional vertical and horizontal scroll bars, and -optional row and column heading viewports.
  • -
  • JSplitPane -- JSplitPane is used to divide two (and only two) Components. The two -Components are graphically divided based on the look and feel -implementation, and the two Components can then be interactively -resized by the user.
  • -
  • JTabbedPane - A component that lets the user switch between a group of components by clicking on a tab with a given title and/or icon.
  • -
  • JToolBar - A component that is useful for displaying commonly used Action's or controls.
  • -
  • JDesktopPane - A container used to create a multiple-document interface or a virtual desktop.
  • -
  • JInternalFrame -- A lightweight object that provides many of the features of a native -frame, including dragging, closing, becoming an icon, resizing, title -display, and support for a menu bar.
  • -
-
-
-
- - -
    -
  • Absolute Layout - A absolute layout displays components with specified bounds.
  • -
  • - FlowLayout -- A flow layout arranges components in a left-to-right flow, much like -lines of text in a paragraph. Flow layouts are typically used to -arrange buttons in a panel. It will arrange buttons left to right until -no more buttons fit on the same line.
  • -
  • BorderLayout - A border layout lays out a container, arranging and resizing its -components to fit in five regions: north, south, east, west, and -center. Each region may contain no more than one component.
  • -
  • - GridLayout -- The GridLayout class is a layout manager that lays out a container's -components in a rectangular grid. The container is divided into -equal-sized rectangles, and one component is placed in each rectangle.
  • -
  • GridBagLayout -- The GridBagLayout class is a flexible layout manager that aligns -components vertically and horizontally, without requiring that the -components be of the same size. Each GridBagLayout object maintains a -dynamic, rectangular grid of cells, with each component occupying, one -or more cells.
  • -
  • - CardLayout -- A CardLayout object is a layout manager for a container. It treats -each component in the container as a card. Only one card is visible at -a time, and the container acts as a stack of cards. The first component -added to a CardLayout object is the visible component when the -container is first displayed.
  • -
  • BoxLayout -- A layout manager that allows multiple components to be laid out -either vertically or horizontally. The components will not wrap so, for -example, a vertical arrangement of components will stay vertically -arranged when the frame is resized.
  • -
  • FormLayout - - JGoodies - FormLayout is a powerful, flexible and precise general - purpose layout manager. It aligns components vertically and - horizontally in a dynamic rectangular grid of cells, with each - component occupying one or more cells.
  • -
  • SpringLayout - A SpringLayout lays out the children of its associated container according to a set of constraints for each side.
  • -
  • GroupLayout - GroupLayout mixes grid layout and free form - layout.
  • -
-
-
-
- - -
    -
  • Horizontal Box - Creates a panel that uses an implicit - horizontal - BoxLayout.
  • -
  • Vertical Box - Creates a panel that uses an implicit - vertical BoxLayout.
  • -
  • Horizontal strut - Creates an invisible, fixed-width - component .
  • -
  • Vertical strut - Creates an invisible, fixed-height - component .
  • -
  • Horizontal glue - Creates a horizontal glue component .
  • -
  • Vertical glue - Creates a vertical glue component .
  • -
  • Rigid area - Creates an invisible component that's always the specified - size .
  • -
  • Glue - Creates an invisible glue component .
  • -
-
-
-
- - -
    -
  • JLabel -- A display area for a short text string or an image, or both. A label -does not react to input events. As a result, it cannot get the keyboard -focus. A label can, however, display a keyboard alternative as a -convenience for a nearby component that has a keyboard alternative but -can't display it.
  • -
  • JTextField - A lightweight component that allows the editing of a single line of text.
  • -
  • JComboBox -- A component that combines a button or editable field and a drop-down -list. The user can select a value from the drop-down list, which -appears at the user's request. If you make the combo box editable, then -the combo box includes an editable field into which the user can type a -value.
  • -
  • JButton - An implementation of a "push" button.
  • -
  • JCheckBox -- An implementation of a check box -- an item that can be selected or -deselected, and which displays its state to the user. By convention, -any number of check boxes in a group can be selected.
  • -
  • JRadioButton -- An implementation of a radio button -- an item that can be selected -or deselected, and which displays its state to the user. Used with a -ButtonGroup object to create a group of buttons in which only one -button at a time can be selected.
  • -
  • JToggleButton -- An implementation of a two-state button -- an item that can be -selected or deselected, and which displays its state to the user.
  • -
  • JTextArea - A JTextArea is a multi-line area that displays plain text. 
  • -
  • JFormattedTextField - A lightweight component that allows the editing of a single line of text using a predefined mask.
  • -
  • JPasswordField -- A lightweight component that allows the editing of a single line of -text where the view indicates something was typed, but does not show -the original characters.
  • -
  • JTextPane - A text component that can be marked up with attributes that are represented graphically.
  • -
  • JEditorPane - A text component to edit various kinds of content.
  • -
  • JSpinner - A lightweight component that allows the lets the user select a number or an object value from an ordered sequence.
  • -
  • JList - A component that allows the user to select one or more objects from a list.
  • -
  • JTable - The JTable is used to display and edit regular two-dimensional tables of cells.
  • -
  • JTable on JScrollPane - A JTable placed within a - JScrollPane.
  • -
  • Table model column - A JTable model column.
  • -
  • JTree - A control that displays a set of hierarchical data as an outline.
  • -
  • JProgressBar -- A component that, by default, displays an integer value within a -bounded interval. A progress bar typically communicates the progress of -some work by displaying its percentage of completion and possibly a -textual display of this percentage.
  • -
  • JScrollBar - An -implementation of a scrollbar. The user positions the knob in the -scrollbar to determine the contents of the viewing area. The program -typically adjusts the display so that the end of the scrollbar -represents the end of the displayable contents, or 100% of the contents.
  • -
  • JSeparator - A horizontal or vertical line used to separate other controls.
  • -
  • JSlider -- A component that lets the user graphically select a value by sliding -a knob within a bounded interval. The slider can show both major tick -marks and minor tick marks between them. The number of values between -the tick marks is controlled with setMajorTickSpacing and -setMinorTickSpacing.
  • -
-
-
-
- - -
    -
  • JMenuBar - A menu bar.
  • -
  • JPopupMenu - A popup menu.
  • -
  • JMenu - Either a pull-down or cascaded menu.
  • -
  • JMenuItem - A simple menu item.
  • -
  • JCheckBoxMenuItem - A checkbox menu item.
  • -
  • JRadioButtonMenuItem - A radio button menu item.
  • -
-
-
-
- - -
    -
  • Panel -- Panel is the simplest container class. A panel provides space in -which an application can attach any other component, including other -panels.
  • -
  • Canvas - A Canvas component represents a blank - rectangular area of the screen onto which the application can - draw or from which the application can trap input events from - the user.
  • -
  • ScrollPane - A container class which implements automatic horizontal and/or vertical scrolling for a single child component.
  • -
  • Button - This class creates a labeled button. The application can cause some action to happen when the button is pushed.
  • -
  • Label -- A Label object is a component for placing text in a container. A -label displays a single line of read-only text. The text can be changed -by the application, but a user cannot edit itdirectly.
  • -
  • Checkbox - A check box is a graphical component that can be in either an - "on" (true) or "off" (false) state. Clicking on a check box changes its state from - "on" to "off", or from "off" to - "on".
  • -
  • Choice - The Choice class presents a pop-up menu of choices. The current choice is displayed as the title of the menu.
  • -
  • List -- The List component presents the user with a scrolling list of text -items. The list can be set up so that the user can choose either one -item or multiple items.
  • -
  • Scrollbar - The -Scrollbar class embodies a scroll bar, a familiar user-interface -object. A scroll bar provides a convenient means for allowing a user to -select from a range of values.
  • -
  • TextField - A TextField object is a text component that allows for the editing of a single line of text.
  • -
  • TextArea - A TextArea object is a multi-line region that displays text. It can be set to allow editing or to be read-only.
  • -
-
-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/index.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/index.html deleted file mode 100644 index 53eda83d8..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/index.html +++ /dev/null @@ -1,56 +0,0 @@ - -Preferences - Swing - - - -

Preferences - Swing

- - - - -

Here is the list of - Swing Designer preference pages:

-

Default form width & height

-

These preferences control the default form size used for any window or - dialog created by Swing Designer.

Highlight containers without - borders

-

This preference determines whether Swing Designer draws a dotted - rectangle around borderless JPanels.

-

Show text in - components tree

-

This preference determines whether the text label of a widget (like a - button, label, etc.) is shown next to the widget's name in the - Component Tree. -

-   -

Show important properties dialog on - component adding

-

This preference controls whether the important properties dialog is - shown whenever a new widget is created. The important properties dialog - provides access to the widget's name, text and icon properties and style - settings.

-

Automatically activate direct edit - on component adding

-

This preference controls whether - direct edit mode is automatically - invoked when a new component is added to the window. When this option is - enabled, it makes it easy to immediately set the text label on a widget - as soon as it is created.

-

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_absolute.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_absolute.html deleted file mode 100644 index 2e95a05fe..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_absolute.html +++ /dev/null @@ -1,47 +0,0 @@ -Preferences - Swing > Layouts > Absolute - -

Preferences - Swing > Layouts > Absolute

- - - - -

This page is used to control various - Swing > Layouts > Absolute options.

-

- Use 'Free' component placement style

-

This preference determines whether free mode is used for - aligning widgets. Free mode uses widget snapping similar to that used - for GroupLayout.

-   -

- Component Gaps

-

This preference determines what default gaps are used between - components in free mode.   -

- Container Gaps

-

This preference determines what default gaps are used between - components and their containers in free mode.   -

- Apply 'grid' creation flow

-

This preference determines whether the creation order of the widgets - will be adjusted to reflect their positions in a left-to-right, - top-to-bottom grid flow. This will affect the default tab order.

- Use Grid Snapping

-

This preference determines whether grid mode is used for aligning - widgets. Grid mode uses a user customizable snapping grid.

-

-

Grid Step

-

This preference determines the grid step used in grid mode.

-   -

- Display Grid

-

This preference determines whether the grid is displayed in grid mode.

-   -

- Display location/size hints

-

This preference determines whether location and size - hints are shown when moving or sizing widgets.

-   -

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_code_generation.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_code_generation.html deleted file mode 100644 index 6c6b89899..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_code_generation.html +++ /dev/null @@ -1,198 +0,0 @@ - -Preferences - Swing > Code Generation - - - -

Preferences - Swing > Code Generation

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Use the existing creation style when it can be deduced

-

This preference determines whether Swing Designer attempts to use the - existing code creation style already in a file to generate code.  - Swing Designer checks a file when it is opened in the editor to see if one - style or the other is used.  If only one of the styles is being used - in a file, it will continue generating code in that style, regardless of - what the other code generation settings.  If no style is detected (no controls - have been created yet) or if more than one style is detected, the - Swing Designer will generate code as specified in the other - settings. -

- Method name for new statements

-

This preference determines in which method components will be created by default - (in the event that a suitable method has not already be - defined for the current class). If the method does not exist, it will be - created and a call to it added to the constructor for the class. Various - default choices are provided to match the code generation patterns of - other GUI builders.

Default code generation settings

-

Swing Designer supports a wide variety of code generation styles - and can emulate most other Java GUI builders including NetBeans, - JBuilder, the Eclipse Visual Editor, etc. Choose a - Variable - Generation style (Local, - Field, Initialized Field or - Lazy) and a Statement Generation style (Flat or - Block). Many of the styles have additional options that can be set. - Once any combination of settings is selected, you can see a preview of - that code generation style in the Preview pane.

- Variable - generation

-

Swing Designer supports several Variable Generation - styles including Local, Field, - Initialized Field or - Lazy.

-

Local Variable Mode

-

-

- In the Local variable generation style, each component is - assigned to a unique local variable and initialized at the point of - declaration. An option is provided to declare each variable as final. - Note that component types marked as As Field on the - Variables > Type - Specific preference page will always be assigned to fields.

Local - Variables / Flat Mode
-
-
Final Local - Variables / Flat Mode
-
-
Local - Variables / Block Mode
-
-
Final Local - Variables / Block Mode
-
-
-

Field Mode

-

-

- In the Field generation style, each component is - assigned to a unique field and initialized at the point where it is - first used. An option is provided to prefix each field reference with - this.

Fields / Flat Mode
-
-
This - Fields / Flat Mode
-
-
Fields / Block Mode
-
-
This - Fields / Block Mode
-
-
-

Initialized Field Mode

-

-

- In the Initialized Field generation style, each component is - assigned to a unique field and initialized at the point at the point of - declaration. An option is provided to prefix each field reference with - this.

- Initialized Fields / Flat Mode
-
-
- Initialized This Fields / Flat Mode
-
-
- Initialized Fields / Block Mode
-
-
- Initialized This Fields / Block Mode
-
-
-

Lazy Mode

-

-

- In the Lazy generation style, each component is created in its - own unique getXXX() method. An option is provided to set the - visibility modifier to private, package private, - protected or public.

Lazy - Private Mode
-
-
Lazy - Public Mode
-
-

- Statement - generation

-

Swing Designer supports flat mode and block mode - generation modes.

-

Flat Mode

-

-

-

In flat mode, each component is created in the same scope at - the same indentation level. An option is provided to prefix the creation - of each component with either a blank line or a comment.

-

Block Mode

-

-

-

In block mode, each component is created in its own scoped - code block. Child components are created in nested blocks.

Local - Variables / Flat Mode
-
-
Local - Variables / Block Mode
-
-
Fields / Flat Mode
-
-
Fields / Block Mode
-
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_event_handlers.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_event_handlers.html deleted file mode 100644 index 0da9e1abf..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_event_handlers.html +++ /dev/null @@ -1,109 +0,0 @@ - -Preferences - Swing > Code Generation > Event Handlers - - - -

Preferences - Swing > Code Generation > Event Handlers

- - - - -

This page is used to control various - Swing > Code Generation > Event Handler options.

-

Event code generation

-

This preference determines how event handlers are generated. The first - option, Create anonymous class, generates an anonymous adapter - class located inline with the widget definition. For example: -

-
-        - - Button button = new Button(shell, SWT.NONE);
-        button.addSelectionListener(new SelectionAdapter() {
-               public void widgetSelected(SelectionEvent e) - {
-               - }
-        });
-
-

The second option, Create inner class, generates an adapter - class as an inner class. Options are provided to add the inner class at - the beginning or end of the class as well as specify the pattern used to - name the inner class. For example: -

-
-
             private class ButtonSelectionListener extends - SelectionAdapter {
-               - public void - widgetSelected(SelectionEvent e) {
-               - }
-        }
-        ...
-        Button button = new Button(shell, SWT.NONE);
-        button.addSelectionListener(new - ButtonSelectionListener());
-
-
-

The pattern can include the template variables (names enclosed between - "${" and "}") shown below. Capitalizing the name of any variable will cause - the value of the variable to be capitalized before it is inserted into the - resulting text.

    -
  • component_name - the name of the component to which the - handler is being attached
  • -
  • component_class_name - the name of the class of the component - to which the handler is being attached
  • -
  • listener_name - the name of the event being handled
  • -
  • listener_className - the name of the event listener
  • -
-

The third option, Implement listener interface in parent class, - adds the the listener interface to the parent class and adds the - appropriate methods to the class definition. For example: -

-

             - - public class MyClass implements SelectionListener {
-        ...
-        Button button = new Button(shell, SWT.NONE);
-        button.addSelectionListener(this);
-        ...
-        public void widgetSelected(SelectionEvent e) - {
-        }
-        public void - widgetDefaultSelected(SelectionEvent e) {
-        }

-
-

Create stub event handler methods named

-

This preference determines whether the text field below it is -enabled.  Now whenever an event -handler is added, a method stub is created with the name given in the text -field.  A line of code is also added to -the event handler which calls the newly created method.  If you move your mouse over the text field, -a tool tip will appear which gives you information on how to specify the names -of the method stubs generated. -

Use this field to change the pattern used to generate the name of the - method that will be invoked from within the event handler. The pattern can - include the template variables (names enclosed between "${" and "}") shown - below. Capitalizing the name of any variable will cause the value of the - variable to be capitalized before it is inserted into the resulting text.

    -
  • component_name - the name of the component to which the - handler is being attached
  • -
  • component_class_name - the name of the class of the component - to which the handler is being attached
  • -
  • event_name - the name of the event being handled")
  • -
-

Delete stub event handler methods on component delete

-

This preference determines whether handler methods associated with a - component are deleted when the component is deleted.

Declare - parameters in event handlers as 'final'

-

This preference determines whether 'final' is added to the parameters - in event handlers.

Show icon decorator for components with events

-

This preference controls whether components with event handlers are shown with - an icon decorator.

-

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_jgoodies_formlayout.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_jgoodies_formlayout.html deleted file mode 100644 index 346f01f53..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_jgoodies_formlayout.html +++ /dev/null @@ -1,27 +0,0 @@ - -Preferences - Swing > JGoodies FormLayout - - - -

Preferences - Swing > Layouts > JGoodies FormLayout

- - - - -

This page is used to control various - Swing > Layouts > JGoodies FormLayout options.

-

Use automatic horizontal/vertical grab

-

This preference controls whether new text-oriented widgets (JText, - JComboBox, etc.) are set to grab horizontally when they are added - to the window and whether new JTable and JTree widgets are - set to grab horizontally and vertically when they are added to the - window.

-   -

- Automatically align right Label-like components before Text components

-

This preference controls whether JLabels should be right aligned when - they are to the left of a JText or JComboBox widget.

-   -

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_layouts.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_layouts.html deleted file mode 100644 index fa7cf5069..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_layouts.html +++ /dev/null @@ -1,37 +0,0 @@ - -Preferences - Swing > Layouts - - - -

Preferences - Swing > Layouts

- - - - -

This page is used to control various - Swing > Layouts options.

-

Default layout manager

-

This preference controls the default layout manager that Swing Designer uses - for any new frame or panel. The default is to use the implicit layout - manager already in effect for each container (e.g., BorderLayout for JFrames - and FlowLayout for JPanels). -

Layouts to use

-

This preference controls the layouts which can be selected in the - default layout manager and also which layouts are available in the - Design editor page.
If a layout is unchecked that is currently set - as default layout, the selection in the default layout manager control - is cleared, with the implict layout being used as default again. -

Containers automatically use layout manager type of parent

-

This preference determines whether new panels will use the layout - manager of their parent's by default.

Create variable for Layout - using pattern

-

This preference determines what pattern will be used to generate layout - variables. The following styles are supported:

    -
  • ${layoutAcronym}_${containerName} -- gbl_panel
  • -
  • ${layoutAcronym}${containerName-cap} -- gblPanel
  • -
  • ${containerName}${layoutClassName} -- panelGridBagLayout
  • -
  • ${dataDefaultName} -- gridBagLayout_1
  • -
-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_lookandfeel.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_lookandfeel.html deleted file mode 100644 index e633755ad..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_lookandfeel.html +++ /dev/null @@ -1,58 +0,0 @@ - -Preferences - Swing > LookAndFeel - - - -

Preferences - Swing > LookAndFeel

- - - - -
-

This page is used to control various - Swing > LookAndFeel options.

-

Any look and feel types listed on this page will show up in Designer's - toolbar in the look and feel drop down list.

-

-    -

- - - - - - - - - -
-

Windows

-


-

-

Motif

-


-

-

Metal

-


-

-

Liquid

-


-

-

You can add more looks by clicking on the - Add button and specifying the look you want to add in the Add - LookAndFeel dialog that appears.  - To edit a look, select it and click on Edit. To - remove a look, select it click on Remove. To set a look as the - default look used in Designer, select the look and click on the Set Default button.

-

-

Apply chosen LookAndFeel in main() method

-

This preference determines whether Designer adds code to set the - selected Look and Feel in the main() method. For example:

-

try {
-    - UIManager.setLookAndFeel("com.jgoodies.looks.windows.WindowsLookAndFeel");
- } catch (Throwable e) {
- }.

-
- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_miglayout.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_miglayout.html deleted file mode 100644 index 17619221a..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_miglayout.html +++ /dev/null @@ -1,28 +0,0 @@ - -Preferences - Swing > MiGLayout - - - -

Preferences - Swing > Layouts > MiGLayout

- - - - -
-

This page is used to control various - Swing > Layouts > MiGLayout options.

-

Use automatic horizontal/vertical grab

-

This preference controls whether new text-oriented widgets (JText, - JComboBox, etc.) are set to grab horizontally when they are added - to the window and whether new JTable and JTree widgets are - set to grab horizontally and vertically when they are added to the - window.

-   -

- Automatically align right Label-like components before Text components

-

This preference controls whether JLabels should be right aligned when - they are to the left of a JText or JComboBox widget.

-   -

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_nls.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_nls.html deleted file mode 100644 index 2f87caba6..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_nls.html +++ /dev/null @@ -1,28 +0,0 @@ - -Preferences - Swing > Code Generation > NLS - - - -

Preferences - Swing > Code Generation > NLS

- - - - -
-

This page is used to control various - SWT > Code Generation > NLS options.

-

Automatically externalize string properties, if class contains - externalized properties

-

This preference determines whether Designer will automatically - externalize the string properties for new widgets as they are added. - This preference only applies to classes that have already had their - strings externalized.

Use qualified name in keys

-

This preference determines whether qualified names are used to create - keys.

Key as value prefix

-

This preference determines what prefix should be used for NLS keys - directly entered into the property pane.

-

Always visible locales

-

This preference determines what locales should always be listed. This - should be a comma separated list such as "en, de, ru".

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_variables.html b/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_variables.html deleted file mode 100644 index 0c36af23e..000000000 --- a/org.eclipse.wb.swing.doc.user/html/preferences/swing/preferences_variables.html +++ /dev/null @@ -1,81 +0,0 @@ - -Preferences - Swing > Code Generation > Variables - - - -

Preferences - Swing > Code Generation > Variables

- - - - -
This page is used to control various Swing > Code Generation > - Variables options. - -

-Type specific

-

-

-

There -are already several types listed in the table. You can add more types by clicking on the Add button and entering in the -name of the class you want to add in the dialog box that appears. To remove a type, highlight it in the table -and click on Remove.

- -

The -Default Name column of the table lets you change what variable name is -initially used when a control of that type is created. To change the default name, simply click in -the table cell that you wish to modify and type in the name. Press Enter to apply the change or Esc to -cancel. Any names that are entered must be valid Java identifiers.

-

- The Acronym column of the table lets you specify a short name for - the type that is used in automatic variable renaming. Any acronyms that - are entered must be valid Java identifiers.

- -

The -As Field column has a checkbox for each table item. If an item's As Field cell is checked, all new controls of that -type will be created as a field. When a -control is created as a field, it places the declaration of the control in the -class outside of any methods.

- -

-Auto rename

-

-

-

Use text component variable auto rename

-

This preference determines whether component variable - names are renamed based on the value of the text component. This can be set to - "Always", "Never" or "For default names". The later means that only - components that still have their default names will be renamed. Once - renamed, they will not be renamed again.

Create variable using - pattern

-

This preference determines what pattern is used when creating a - new variable name. Available pattern parts are:

    -
  • ${class_acronym} - the acronym of the short class name
  • -
  • ${text} - the value of the text property
  • -
  • ${class_name} - the short class name
  • -
  • ${default_name} - the default name of the component
  • -
-

Process only n words of text value

-

This preference determines how many words from the text component - are used when generating the new variable name. Use "0" for no - limit.

- Miscellaneous

-

-

-

- Remember variable name in component

-

This preference determines whether the widget's name is set in the - widget's name property.

- - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_border.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_border.html deleted file mode 100644 index 84d672884..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_border.html +++ /dev/null @@ -1,230 +0,0 @@ - -Border Editor - - - - -

Border Editor

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

-

-

Click the - button -to access the Border Editor and configure a border. Select the border -type from the drop down list and then choose options unique to that border -types. Three previews of what the border will look like are shown at the bottom -of the dialog.

-
-

-

-
-

The following border types are supported:

- -

 

-

BevelBorder

-

-

-
    -
  • Select a bevel type: raised or lowered
  • -
  • Select a highlight outer color
  • -
  • Select a highlight inner color
  • -
  • Select a shadow outer color
  • -
  • Select a shadow inner color
  • -
  • Choose a color using the Select Color button
    -
  • -
  • Reset to the default color using the Clear Color button
    -
  • -
-
-

CompoundBorder

-

-

-
    -
  • Create an outside border by clicking the Edit button
  • -
  • Create an inside border by clicking the Edit button
  • -
  • Swap the two borders using the Swap button
  • -
-

EmptyBorder

-

-

-
    -
  • Specify the top, left, bottom and right - insets
  • -
-
-

EtchedBorder

-

-

-
    -
  • Select an etch type: raised or lowered
  • -
  • Select a highlight color
  • -
  • Select a shadow color
  • -
  • Choose a color using the Select Color button
    -
  • -
  • Reset to the default color using the Clear Color button
    -
  • -
-

LineBorder

-

-

-
    -
  • Select a color
  • -
  • Specify the thickness
  • -
  • Select a corner type: square or rounded
  • -
  • Choose a color using the Select Color button
    -
  • -
  • Reset to the default color using the Clear Color button
    -
  • -
-
-

MatteBorder

-

-

-
-
    -
  • Select a color
  • -
  • Specify the top, left, bottom and right - insets
  • -
  • Choose a color using the Select Color button
    -
  • -
  • Reset to the default color using the Clear Color button
    -
  • -
-
-

SoftBevelBorder

-

-

-
    -
  • Select a bevel type: raised or lowered
  • -
  • Select a highlight outer color
  • -
  • Select a highlight inner color
  • -
  • Select a shadow outer color
  • -
  • Select a shadow inner color
  • -
  • Choose a color using the Select Color button
    -
  • -
  • Reset to the default color using the Clear Color button
    -
  • -
-
-

TitledBorder

-

-

-
    -
  • Enter a title
  • -
  • Select a title justification
  • -
  • Select a title position
  • -
  • Select a title color
  • -
  • Create an border by clicking the Edit button
  • -
  • Choose a color using the Select Color button
    -
  • -
  • Reset to the default color using the Clear Color button
    -
  • -
-
-

Swing

-

-

-
    -
  • Choose a built-in Swing border style
  • -
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_combobox_model.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_combobox_model.html deleted file mode 100644 index e63f541f5..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_combobox_model.html +++ /dev/null @@ -1,25 +0,0 @@ - -ComboBox Model Editor - - - - -

ComboBox Model Editor

- - - - -
-

-

-

Click the - button -to access the ComboBox Model Editor and enter multiple items. Each line -is treated as a separate list item.

-

-

-
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_key_stroke.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_key_stroke.html deleted file mode 100644 index b532d8f92..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_key_stroke.html +++ /dev/null @@ -1,25 +0,0 @@ - -List Model Editor - - - - -

Key Stroke Editor

- - - - -
-

-

-

Click the - button -to access the Key Stroke Editor and enter a key stroke combination. Any -combination of modifiers can be selected as well as a single key code.

-

-

-
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_label_for.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_label_for.html deleted file mode 100644 index b3c9c88e1..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_label_for.html +++ /dev/null @@ -1,25 +0,0 @@ - -List Model Editor - - - - -

Label For Editor

- - - - -
-

-

-

Click the - button -to access the Label For Editor and select an widget to associate the -label with.

-

-

-
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_list_model.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_list_model.html deleted file mode 100644 index 505db406f..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_list_model.html +++ /dev/null @@ -1,25 +0,0 @@ - -List Model Editor - - - - -

List Model Editor

- - - - -
-

-

-

Click the - button -to access the List Model Editor and enter multiple items. Each line -is treated as a separate list item.

-

-

-
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_spinner_model.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_spinner_model.html deleted file mode 100644 index 2783cc278..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_spinner_model.html +++ /dev/null @@ -1,34 +0,0 @@ - -List Model Editor - - - - -

Spinner Model Editor

- - - - -
-

-

-

Click the - button -to access the Spinner Model Editor and specify either a list model, number -or date model. For a list model, you can enter multiple items. Each line -is treated as a separate list item. For a number model, you can specify the -number type, an -initial value, a minimum value, a maximum value, and a step size. For a date -model, you can specify an initial date, start date, a stop date, and a date -type. For each -model, you can test the spinner model using a preview spinner at the bottom of -the editor.

-

-   -   -

-
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_table_model.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_table_model.html deleted file mode 100644 index 182712345..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_table_model.html +++ /dev/null @@ -1,27 +0,0 @@ - -Table Model Editor - - - - -

Table Model Editor

- - - - -
-

-

-

Click the - button -to access the Table Model Editor and specify the number of columns and -rows. For each column, the title, type, width, editable and resizable properties -can be set. Individual cell values can also be set in the editable table in the -editor.

-

-

-
- - - - \ No newline at end of file diff --git a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_tree_model.html b/org.eclipse.wb.swing.doc.user/html/properties/property_editor_tree_model.html deleted file mode 100644 index 777ddec05..000000000 --- a/org.eclipse.wb.swing.doc.user/html/properties/property_editor_tree_model.html +++ /dev/null @@ -1,26 +0,0 @@ - -Tree Model Editor - - - - -

Tree Model Editor

- - - - -
-

-

-

Click the - button -to access the Tree Model Editor and enter multiple tree items. Each line -is treated as a separate tree item. Indenting an item makes it a child of the -item above it.

-

-

-
- - - - \ No newline at end of file