Changes between Version 3 and Version 4 of widgets


Ignore:
Timestamp:
11/24/2010 09:54:07 AM (13 years ago)
Author:
marcel.taeumel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • widgets

    v3 v4  
    5858= How to Use =
    5959
    60 ''Write a small tutorial. Start with basic steps and then add more details. It is not necessary to explain the whole functionality.''
     60== Button Widgets ==
    6161
     62== Containers & Spacers ==
    6263
     64== Input Widgets ==
     65
     66== Display Widgets ==
     67
     68== Item Widgets (Item-Based) ==
     69
     70== Item Widgets (Model-Based) ==
    6371
    6472= How to Extend =
    6573
    66 ''Internal documentation. Show models, explain the architecture. Do anything that may help a new developer to extend this project.''
     74Most of the widgets are written from scratch. If you want to extend or add new ones, here are some hints:
     75
     76 * layouting of morphs in combination with embedded text morphs can be problematic in the first place as the dimensions are not correct
     77   * see optimizations and fixes in `UiComboBox`
     78 * put all [wiki:signals signals] of a widget class into the ''signals'' protocol
     79 * for each signal, explain with a comment when it will generally be sent, e.g., ''"This signal is emitted whenever the user clicks with the left mouse button."''
     80 * try to write as compact classes as possible, i.e., avoid having several classes for buttons, buttons with icons, buttons with icons and text, but write exactly one class and make these features configurable
     81 * consider the [wiki:designer Morphic Designer] and implement on the class-side of your widget class:
     82   * `#isWidgetClass` ... used by the designer as a widget
     83   * `#widgetCategory` ... as grouped in the designer's widget tree
     84   * `#widgetProperties` ... appended to the end of the designer's property table
     85   * `#widgetPropertiesToIgnore` ... hidden in the designer's property table
     86   * `#widgetClassIcon` ... icon in the designer's widget tree
     87   * `#widgetClassName` ... text in the designer's widget tree
     88