GUI development: Difference between revisions
Jump to navigation
Jump to search
m (1 revision) |
(No difference)
|
Revision as of 20:55, 30 Mayıs 2009
GUI frameworks
The default framework used by OpenPetra.org at the moment is Windows.Forms. This is due to quite a lot of existing code that has already been written for Petra using Winforms.
For a discussion and comparison of several GUI frameworks, see GUI Frameworks Comparison
GUI internationalisation
see Comparison I18N
Code Generation
GUI Style guide
- see eg. http://library.gnome.org/devel/hig-book/stable/ GNOME Human Interface Guidelines 2.2
General screen types and layouts
- Special screens (unique): Login screen, Intranet Export, etc
- main screens: provide the menus that the user needs to get to all the appropriate screens
- CRUD operations for single table (Create, Read, Update, Delete: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete)
- Find screens
- Export screens
- Complex Edit screens, with many tabs etc
- Assistants: guide the user through complex operations
- report parameter screens: the user selects the options for a report to run
Controls / Widgets
These controls have been quite useful or will become more important:
- Grid
- icons, checkboxes in columns
- load from datatable
- refresh data
- select row or column
- delayed data loading
- at the moment only used readonly
- sort by column
- tooltips for row
- for Windows.forms, we are using DevAge SourceGrid (MIT license, compatible to GPL)
- Edit Field for Partner Key with Search button
- Toolbar
- show tooltips for the toolbar buttons
- Balloon special non modal message boxes http://www.codeproject.com/KB/miscctrl/balloonnet.aspx (CPOL license, problem with GPL)
- Statusbar/Tooltips
- TODO explanation is taken from the Shared Datastore, the help text from petra.xml
- Edit fields: if you tab into a field, or click with the mouse into it, the explanation should be displayed in the statusbar
- Edit fields: if you hover with the mouse over an edit field, the tooltip should display the explanation
- buttons work the same as the edit fields
- menu items: no tooltip, no statusbar info
- toolbar buttons: show tooltips
- using 3rd party control: EWSoftware.StatusBarText@CodeProject (Problem: CodeProject license not compatible to GPL? Wikipedia CPOL)
- Groupbox that can be collapsed
- save space
- tooltip on the +/-
- shortcut key to collapse/open
- yellow background for part of the groupbox text when it is collapsed (subcaption, partner class)
- Restore the window state and position
- XP Style Task Panel