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
