On Mon, 20 Feb 2006 21:27:27 -0300
Felipe Monteiro de Carvalho <[EMAIL PROTECTED]> wrote:

> Good afternoon,
> 
> I would like to present a small study about "New Project" and "File -> 
> New" dialogs on various IDEs as well as proposals to improve and modify 
> the existing dialog for Lazarus.
> 
> Here are images of "New Project" dialogs from various IDEs:
> 
> http://www.braillevirtual.fe.usp.br/temporario/Delphi_7.png
> http://www.braillevirtual.fe.usp.br/temporario/Microsoft_Embedded_Visual_C.png
> http://www.braillevirtual.fe.usp.br/temporario/Net_Beans.png
> http://www.braillevirtual.fe.usp.br/temporario/qtdesigner.png
> 
> The Dialog for Visual Basic is almost identical to the Qt Designer dialog.
> 
> Now, go to Lazarus and select "File" -> "New". You can see the 
> difference, can't you?
> 
> The current "File -> New" dialog on Lazarus certainly does it's job, but 
> it could be much better. What I would like to propose is to improve it's 
> usability and design, specially for new users.

I'm not sure, that the above examples are easy for new users. 

 
> The idea is to give enought information for someone that knows almost 
> nothing about Lazarus to create a new project of various kinds. Of 
> course, this alone is very little but it's a start. The complement of 
> this is the documentation. Both the Wiki and the reference.
> 
> Now, back to "New Project" dialogs. I find that Qt Designed / Visual 
> Basic dialog is the easiest for the users. It allows quick access to the 
> most used things upon project start up, but it doesn't provide 
> description for the itens. One problem it doesn't fit well with the 
> current IDE mode, because Recently Opened files can be accessed by other 
> parts of the IDE, and the last used project is always reloaded, so this 
> dialog loses it's advantages, unless the IDE is modified.
> 
> I propose using a dialog similar to the Net Beans one. The user needs to 
> choose a category and then a project type.

.. and then setup some parameters.

 
> Categories / Project Types could be:
> 
> * File *
> 
> 
> -- Unit
> -- Form
> -- Data Module
> -- Custom Program
> -- Text
> 
> Those currently exist
> 
> -- Custom Control
> 
> creates a unit with a frame for a TCustomControl descendent. Maybe allow 
> the programmer to choose from which class to descend?

Controls (this includes frames) are not yet supported by the designer.
And IMO it is always a better idea to put custom controls into packages.

 
> -- Dialog
> 
> Simple dialog with some buttons (Ok, Cancel, Help) on a part of it. 
> Maybe various dialogs with various buttons positions?

See Michaels. project templates.

> 
> -- Thread Object
> 
> TThread descendent
> 
> -- XML File
> 
> Puts a xml header and one node perhaps.
> 
> * Project *
> 
> 
> -- Graphical Application
> 
> Uses the LCL and has auto-created forms.
> 
> -- Console Application
> 
> -- Custom Program
> 
> -- Library
> 
> Does our library template need a big notice not to use ansistring on dll 
> parameters like Delphi has??? I'm not sure, but I think it needs.

Yes.


> 
> -- Windows Device Driver
> 
> Requires special compile options, and some special things. I still need 
> to test this.
> 
> -- CGI Application
> 
> Like Console Application probably, but with a big comment that explain 
> very, really very basically how CGI scrips work. There is a wiki article 
> about CGI on Free Pascal Wiki.

Just install the cgilazide.lpk.

> 
> -- Unix Daemon
> 
> -- Windows Service
> 
> 
> * Package *
> 
> 
> -- Standard Package
> 
> Currently exists
> 
> -- IDE Plugin
> 
> I don't know how ide plugins work, so others might be able to help here.

It's a package with IDEIntf as requirement. Atm there are at least 8
different IDE 'plugin' types.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to