mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 08:36:04 +02:00
started docs/DesignGuidelines.txt
git-svn-id: trunk@6588 -
This commit is contained in:
parent
070a6c6939
commit
a06e258876
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -397,6 +397,7 @@ doceditor/doceditor.lrs svneol=native#text/pascal
|
||||
doceditor/doceditor.pas svneol=native#text/pascal
|
||||
docs/Contributors.txt svneol=native#text/plain
|
||||
docs/CrossCompile.txt svneol=native#text/plain
|
||||
docs/DesignGuidelines.txt svneol=native#text/plain
|
||||
docs/ExtendingTheIDE.txt svneol=native#text/plain
|
||||
docs/ForDelphians.txt svneol=native#text/plain
|
||||
docs/LCLMessages.txt svneol=native#text/plain
|
||||
|
30
docs/DesignGuidelines.txt
Normal file
30
docs/DesignGuidelines.txt
Normal file
@ -0,0 +1,30 @@
|
||||
This is for lazarus developers:
|
||||
|
||||
Coding style:
|
||||
- Since one style is easier to read, Lazarus follows the Borland Coding style
|
||||
guide lines. Of course, almost anyone will find some points there, that are
|
||||
arguable less readable than other styles. That's ok, just try to follow at
|
||||
least 90%.
|
||||
- Try to avoid unit circles. This makes it easier to navigate and when unit is
|
||||
growing allows to split it.
|
||||
|
||||
New files:
|
||||
- Every file should start with a header containing the license and a few lines
|
||||
describing the content.
|
||||
|
||||
Include files:
|
||||
- should start with the {%MainUnit } directive
|
||||
|
||||
Packages:
|
||||
- should have an .lpl entry in packager/globallinks/
|
||||
|
||||
Dialogs (modal forms):
|
||||
- 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
|
||||
|
||||
Main Menu Items:
|
||||
- Should have a key in keymapping.pp
|
||||
|
||||
|
||||
|
32
docs/TODO
32
docs/TODO
@ -16,13 +16,12 @@ Contents:
|
||||
|
||||
Graphics
|
||||
State: loading bmp and xpm works for 16/24 depth
|
||||
saving is not implemented, so streaming does not work
|
||||
Palettes basically implemented in gtk-interface
|
||||
Skills: knowledge of LCL, VCL, deep knowledge of interfaces
|
||||
Difficulty: high
|
||||
|
||||
Docking (= the combination of forms)
|
||||
State: not implemented
|
||||
State: started. The DockManager/DockTree is missing
|
||||
Skills: deep knowledge of LCL, VCL and probably also the interfaces
|
||||
Difficulty: high
|
||||
|
||||
@ -35,6 +34,7 @@ Contents:
|
||||
State: not implemented. In contrary to the VCL the LCL should use the
|
||||
current Theme of the user. So, the Font property should only work,
|
||||
if explicitly set
|
||||
Works in winapi, and a few places in gtk
|
||||
Skills: knowledge of LCL, gtk, win32
|
||||
Difficulty: medium
|
||||
|
||||
@ -52,7 +52,7 @@ Contents:
|
||||
State: working
|
||||
|
||||
TBitmap:
|
||||
State: see LCL - Graphics
|
||||
State: working, see LCL - Graphics
|
||||
|
||||
TButton
|
||||
State: working
|
||||
@ -94,22 +94,22 @@ Contents:
|
||||
State: working
|
||||
|
||||
TGraphic:
|
||||
State: see LCL - Graphics
|
||||
State: working, see LCL - Graphics
|
||||
|
||||
TGroupBox
|
||||
State: working
|
||||
|
||||
TIcon:
|
||||
State: not implemented
|
||||
State: started, not complete
|
||||
|
||||
TIdleTimer
|
||||
State: working
|
||||
|
||||
TImage
|
||||
State: see LCL - Graphics
|
||||
State: working, see LCL - Graphics
|
||||
|
||||
TImageList
|
||||
State: see LCL - Graphics
|
||||
State: working, see LCL - Graphics
|
||||
|
||||
TLabel
|
||||
State: working
|
||||
@ -136,7 +136,7 @@ Contents:
|
||||
State: working
|
||||
|
||||
TOpenDialog
|
||||
State: almost working, Filter does not work in gtk-interface, see there
|
||||
State: working, Filter does not work in gtk-interface, see there
|
||||
|
||||
TPage
|
||||
State: working
|
||||
@ -154,7 +154,7 @@ Contents:
|
||||
State: working
|
||||
|
||||
TPixmap:
|
||||
State: see LCL - Graphics
|
||||
State: working, see LCL - Graphics
|
||||
|
||||
TPopupMenu
|
||||
State: working
|
||||
@ -204,20 +204,16 @@ Contents:
|
||||
State: working
|
||||
|
||||
TToolBar
|
||||
State: needs redesign. The current design is too win32 specific.
|
||||
It should delegate at least half the work to the interfaces, which
|
||||
should create the interface specific toolbar and buttons.
|
||||
Skills: LCL, gtk, little win32
|
||||
Difficulty: medium
|
||||
State: working, needs improvements to use more interface specific things
|
||||
|
||||
TToolbutton
|
||||
State: see TToolBar
|
||||
State: working, see TToolBar
|
||||
|
||||
TTrackbar
|
||||
State: working
|
||||
|
||||
TTreeView
|
||||
State: working, Bug: Property 'Scrollbars' does not work properly
|
||||
State: working
|
||||
|
||||
TUpDown
|
||||
State: working
|
||||
@ -246,7 +242,7 @@ Contents:
|
||||
Difficulty: medium
|
||||
|
||||
Graphics
|
||||
see LCL - Graphics
|
||||
working, see LCL - Graphics
|
||||
|
||||
Focus
|
||||
State: switching focus between windows. Might be impossible due to
|
||||
@ -318,7 +314,7 @@ Contents:
|
||||
|
||||
3. Docs
|
||||
|
||||
State: basic structure is under construction by Mattias
|
||||
State: basic structure is under construction
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user