[Lazarus] lazarus for education
Rainer Hamann
rainer at hamann-kiel.de
Wed Mar 12 16:41:15 CET 2008
Mattias Gaertner wrote:
> On Wed, 12 Mar 2008 01:50:20 +0100
> willem <wli222 at casema.nl> wrote:
>
>
>> Rainer Hamann wrote:
>>
>>> I developed a teaching / learning edition for pascal based on
>>> Delphi and RemObjects Pascal Script.
>>>
>>> There are two different levels at the moment :
>>>
>>> One is Logo like and tested with children of 9 years and up,
>>> another uses objects based on the main form of the application with
>>> no objects to be declared inside the program. The second one is
>>> tested with pupils of 14 years and up.
>>>
>>> My idea is to downgrade the Lazarus ide by compiler options in
>>> order to make it more simple for beginners and to add some tools
>>> like wizards and so on. May be I need help, but some tools are
>>> ready in the Delphi application.
>>>
>>> I would like to know, if there is interest in such a tool.
>>>
>>> Rainer Hamann
>>>
>>>
>>>
>> Well I am interested.
>>
>
> Me too.
>
>
>
>> Adding Wizards looks a good idea to me.
>>
>
>
> Mattias
>
>
My idea is to hide many of the menu items and parts of the objects bar
and to extend the source editor in order to simplify it for children. Is
it better, if it is done by compiler options or by runtime options?
I would prefer compiler options like :
procedure TMainIDEBase.SetupFileMenu;
var
ParentMI: TIDEMenuSection;
begin
with MainIDEBar do begin
CreateMenuSeparatorSection(mnuFile,itmFileNew,'itmFileNew');
ParentMI:=itmFileNew;
{$IFDEF LAZ4EDU}
CreateMenuItem(ParentMI,itmFileNewOther,'itmFileNewOther',lisMenuNewOther,'menu_new');
CreateMenuSeparatorSection(mnuFile,itmFileOpenSave,'itmFileOpenSave');
ParentMI:=itmFileOpenSave;
CreateMenuItem(ParentMI, itmFileOpen, 'itmFileOpen', lisMenuOpen,
'menu_open');
CreateMenuItem(ParentMI,itmFileRevert,'itmFileRevert',lisMenuRevert,
'menu_file_revert');
CreateMenuItem(ParentMI,itmFileSave,'itmFileSave',lisMenuSave,'menu_save');
CreateMenuItem(ParentMI,itmFileSaveAs,'itmFileSaveAs',lisMenuSaveAs,'menu_saveas_16');
CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisMenuClose,'menu_close',false);
{$ELSE}
CreateMenuItem(ParentMI,itmFileNewUnit,'itmFileNewUnit',lisMenuNewUnit,'menu_new_unit');
CreateMenuItem(ParentMI,itmFileNewForm,'itmFileNewForm',lisMenuNewForm,'menu_new_form');
CreateMenuItem(ParentMI,itmFileNewOther,'itmFileNewOther',lisMenuNewOther,'menu_new');
CreateMenuSeparatorSection(mnuFile,itmFileOpenSave,'itmFileOpenSave');
ParentMI:=itmFileOpenSave;
CreateMenuItem(ParentMI, itmFileOpen, 'itmFileOpen', lisMenuOpen,
'menu_open');
CreateMenuItem(ParentMI,itmFileRevert,'itmFileRevert',lisMenuRevert,
'menu_file_revert');
CreateMenuSubSection(ParentMI,itmFileRecentOpen,'itmFileRecentOpen',lisMenuOpenRecent);
CreateMenuItem(ParentMI,itmFileSave,'itmFileSave',lisMenuSave,'menu_save');
CreateMenuItem(ParentMI,itmFileSaveAs,'itmFileSaveAs',lisMenuSaveAs,'menu_saveas_16');
CreateMenuItem(ParentMI,itmFileSaveAll,'itmFileSaveAll',lisMenuSaveAll,'menu_save_all');
CreateMenuItem(ParentMI,itmFileClose,'itmFileClose',lisMenuClose,'menu_close',false);
CreateMenuItem(ParentMI,itmFileCloseAll,'itmFileCloseAll',lisMenuCloseAll,'menu_close_all',false);
CreateMenuSeparatorSection(mnuFile,itmFileDirectories,'itmFileDirectories');
ParentMI:=itmFileDirectories;
CreateMenuItem(ParentMI,itmFileCleanDirectory,'itmFileCleanDirectory',lisMenuCleanDirectory,
'menu_clean');
CreateMenuSeparatorSection(mnuFile,itmFileIDEStart,'itmFileIDEStart');
ParentMI:=itmFileIDEStart;
CreateMenuItem(ParentMI,itmFileRestart,'itmFileRestart',lisMenuRestart,
'menu_restart_16');
{$ENDIF}
CreateMenuItem(ParentMI,itmFileQuit,'itmFileQuit',lisMenuQuit,
'menu_exit');
end;
end;
Rainer Hamann
More information about the Lazarus
mailing list