[Lazarus] Refactor Menu

Howard Page-Clark hdpc at talktalk.net
Sun Mar 6 23:29:39 CET 2011


On 06/3/11 8:40, Marco van de Voort wrote:
 > On Sat, Mar 05, 2011 at 04:26:14PM +0000, Howard Page-Clark wrote:
 >> I'm not wanting to complain, rather to raise the question if now is not
 >> a good time to take stock of the erratic menu growth and changes over
 >> the past few years, and as Juha suggests, refactor it constructively.
 >
 > The trouble is that the Delphi layout is burned into the minds of 
many after
 > 15 years. Deviating too far is unconstructive.
 >
Point taken. However, Juha is proposing adding a main menu item which 
Delphi already has (well, not the XE Starter, but the others) and which 
Lazarus currently lacks, i. e. improving compatibility.

Also, the subitems in any given menu are often already quite divergent 
between Delphi and Lazarus. For instance:

D 2010 Edit      XE Starter Edit  Lazarus Edit
--------------   ---------------  ---------------
Undo             Undo             Undo
Redo             Redo             Redo
Format Source    ---------------  ---------------
---------------  Cut              Cut
Cut              Copy             Copy
Copy             Paste            Paste
Paste            Delete           ---------------
Delete           Select All       Indent selection
Select All       ---------------  Unindent selection
---------------  Align to Grid    Enclose selection...
Align to Grid    Bring to Front   Comment selection
Bring to Front   Send to Back     Uncomment selection
Send to Back                      Toggle comment
Align...                          Insert $IFDEF
Size...                           Sort selection
Scale...                          ---------------
Tab Order...                      Uppercase selection
Create Order...                   Lowercase selection
Flip Children >                   Tabs to spaces in selection
Lock Controls                     Break lines in selection
                                   ---------------
                                   Select >
                                   ---------------
                                   Insert from Character Map
                                   Insert text >
                                   ---------------
                                   Complete code
                                   Extract procedure

After 'Paste' there is no correspondence that is in any way helpful if 
you've memorised Delphi's menu order. So surely if reordering items (or 
moving them to another menu, or renaming them) can be shown to be a 
widely welcomed improvement, I see no reason to refuse consideration 
simply because Delphi's menu differs. It's never been identical, and 
with the superiority of quite a bit of Lazarus' functionality, I think a 
well-considered Lazarus menu structure that takes account of logicality, 
cross-platform considerations and internationalisation issues could show 
Delphi the way, since Lazarus is not constrained by a Windows-only 
history. Though I agree that gratuitous departure from the Delphi 
pattern for its own sake is pointless.

H




More information about the Lazarus mailing list