GUI design/de

From Lazarus wiki
Revision as of 14:54, 17 December 2005 by Swen (talk | contribs) (→‎Überblick)
Jump to navigationJump to search

Überblick

Während der Arbeit an Lazarus müssen verschiedene Designrichtlinien berücksichtigt werden, um eine Vielfalt an Stilen zu vermeiden und die Übersichtlichkeit der Dialoge zu gewährleisten. Der nächste Artikel versucht, verschiedene Richtlinien zusammenzufassen, um ihnen bei der Gestaltung zu helfen.

Dialoge

Dialoge sind spezielle Formulare, die den Benutzer auffordern, einige Einstellungen zu erstellen bzw. zu ändern, bevor Lazarus fortfahren kann.

Dialog Einstellungen

Einstellungen, die im Allgemeinen gesetzt werden sollten, sind:

  • BorderStyle : bsSizeToolWin
  • Position : poScreenCenter
  • FormStyle : fsStayOnTop (oder zeigen den Dialog unter Verwendung von ShowModal)

Allgemeines Layout

  • On the bottom all required buttons to close / cancel the dialog, or to recieve help should be placed
  • At least fit a screen of 800x640
  • Close on Escape (if key not used otherwise)
  • Define default button and Return activates it (if key not used)
  • Medium to complex dialogs should be resizable and size is stored

Schaltflächen Panel

The button panel should consist at least of the following elements;

  • OK button
  • Cancel button
  • Next button (optional)
  • Previous button (optional)
  • Help button

An example is shown below:

bottom panel.jpg

Verankerung

To make sure that a dialog after resizing will keep on showing the components in a good way, anchoring is being used. Each components has a property called Anchors. With this property you can determine the way a component is anchored to it's parent.

Ausrichtung

Another way to organise components is using alignment. Each component has a property Align. By selecting the appropriate align position several components can be positioned properly.

BorderSpacing

Especially useful in combination with Align is the BorderSpacing property. (Also found on the Anchors dialog). A typical borderspacing of 6 pixels around a component is used.

Dialoge, die zu LFM konvertiert werden müssen

Durchgestrichene Elemente sind bereits konvertiert.

An fettgeschriebenen Elementen wird gerade gearbeitet.

  • /lazarus/ide/addtoprojectdlg.pas
  • /lazarus/ide/buildlazdialog.pas
  • /lazarus/ide/clipboardhistory.pas
  • /lazarus/ide/codetemplatedialog.pp
  • /lazarus/ide/codetoolsdefines.pas
  • /lazarus/ide/codetoolsoptions.pas
  • /lazarus/ide/compileroptionsdlg.pp
  • /lazarus/ide/diffdialog.pas
  • /lazarus/ide/diskdiffsdialog.pas
  • /lazarus/ide/editoroptions.pp
  • /lazarus/ide/environmentopts.pp
  • /lazarus/ide/exttooldialog.pas
  • /lazarus/ide/exttooleditdlg.pas
  • /lazarus/ide/findinfilesdlg.pas
  • /lazarus/ide/findreplacedialog.pp
  • /lazarus/ide/helpmanager.pas
  • /lazarus/ide/inputfiledialog.pas
  • /lazarus/ide/keymapping.pp
  • /lazarus/ide/macropromptdlg.pas
  • /lazarus/ide/mainbar.pas
  • /lazarus/ide/makeresstrdlg.pas
  • /lazarus/ide/msgview.pp
  • /lazarus/ide/newdialog.pas
  • /lazarus/ide/newprojectdlg.pp
  • /lazarus/ide/patheditordlg.pas
  • /lazarus/ide/projectinspector.pas <D.Blaszijk>
  • /lazarus/ide/projectopts.pp
  • /lazarus/ide/runparamsopts.pas
  • /lazarus/ide/searchresultview.pp
  • /lazarus/ide/sortselectiondlg.pas
  • /lazarus/ide/splash.pp
  • /lazarus/ide/sysvaruseroverridedlg.pas
  • /lazarus/ide/todolist.pp
  • /lazarus/ide/unitdependencies.pas
  • /lazarus/ide/uniteditor.pp
  • /lazarus/ide/unitinfodlg.pp <D.Blaszijk>
  • /lazarus/ide/viewunit_dlg.pp
  • /lazarus/debugger/debuggerdlg.pp
  • /lazarus/debugger/test
  • /lazarus/debugger/watchpropertydlg.pp
  • /lazarus/designer/aligncompsdlg.pp
  • /lazarus/designer/designermenu.pp
  • /lazarus/designer/menueditorform.pas
  • /lazarus/designer/menupropedit.pp
  • /lazarus/designer/noncontrolforms.pas
  • /lazarus/designer/objinspext.pas
  • /lazarus/designer/scalecompsdlg.pp
  • /lazarus/designer/sizecompsdlg.pp
  • /lazarus/ideintf/columndlg.pp
  • /lazarus/ideintf/componenteditors.pas
  • /lazarus/ideintf/graphpropedits.pas
  • /lazarus/ideintf/imagelisteditor.pp
  • /lazarus/ideintf/listviewpropedit.pp
  • /lazarus/ideintf/propedits.pp
  • /lazarus/packager/addtopackagedlg.pas
  • /lazarus/packager/brokendependenciesdlg.pas
  • /lazarus/packager/packagedefs.pas
  • /lazarus/packager/pkggraphexplorer.pas
  • /lazarus/packager/pkgoptionsdlg.pas
  • /lazarus/tools/apiwizz/apiwizard.pp