Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » U++ needs wizards
U++ needs wizards [message #36689] Tue, 26 June 2012 01:36 Go to next message
lectus is currently offline  lectus
Messages: 329
Registered: September 2006
Location: Brazil
Senior Member
Hello!
Here is a feature request that should be easy enough to implement and would attract more new users and make our lives easier:

U++ should have project creation wizards!

Yes, I know there are ready project templates when you create a package.

But I mean more elaborated wizards. For example, when you create a new database app it asks a few questions like:
* Database type: sqlite, mysql, etc
* Database connection string (or file name for sqlite): test.db
* Do you want a default SqlArray with basic CRUD operations? Yes / No
* Define your tables (in a dialog)
* Finish

People coming from other IDEs love wizards!
Re: U++ needs wizards [message #36690 is a reply to message #36689] Tue, 26 June 2012 07:17 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

lectus wrote on Tue, 26 June 2012 01:36

But I mean more elaborated wizards. For example, when you create a new database app it asks a few questions like:
* Database type: sqlite, mysql, etc
* Database connection string (or file name for sqlite): test.db
* Do you want a default SqlArray with basic CRUD operations? Yes / No
* Define your tables (in a dialog)
* Finish

Hi lectus,

Out of the example you posted, 80% can be already be done very simply using templates Smile The only part that is not possible right now is opening a dialog to specify more details, but it could be probably added to the templates too. (You're free to try it Wink )

I personally don't like wizards that much, IMHO having all the setting in one dialog (as in the create new package dialog) is much more efficient. OTOH the only wizard currently present in theide is my work Very Happy I understand that some users like it and that it sometimes makes things easier for beginners.

BTW: If you are interested in wizards and want to try to code some (e.g. a mock-up or example implementation to convince everyone that wizards are cool Wink ), there is a ready made class in uppsrc/ide/SrcUpdater/Wizard.h just for that.

Best regards,
Honza
Re: U++ needs wizards [message #37281 is a reply to message #36690] Fri, 14 September 2012 10:31 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

Wizard not needed. We have classes.
For example.
I use my own class for some dictionaries with CRUD and RepGen calls and some other futures.
I write to describe one of dictionaries very small code like this:

//==dict_little_dicts.h=================================================================//
class DictTypeOfCar : public DictStd {
public:
	typedef DictTypeOfCar CLASSNAME;
	
	DictTypeOfCar();
};
//==dict_little_dicts.cpp===============================================================//
DictTypeOfCar::DictTypeOfCar(){
	window_title = "Car type";
	ReportClass("Print car type");
	ReportListClass("Print list of car type");
	sqltable = TYPEOFCAR;
	sqlid = TOC_ID; sqlname = TOC_NAME;
	colname_id = "Id"; colname_name = "Type Name";
	HelpTopic("Dictionaries#TypeOfCar");

	DictStdSetup();
}
//==========================================================================================//


Or, if I need some additional functionality:

//==dict_little_dicts.h=================================================================//
class DictStatus : public DictStd {
public:
	typedef DictStatus CLASSNAME;
	ColorCtrl STA_Color;
	DictStatus();
	void virtual AddingColumns();
	void virtual LoadOneRecord();
};
//==dict_little_dicts.cpp===============================================================//
DictStatus::DictStatus(){
	window_title = "Statuses";
	ReportClass("Print status");
	ReportListClass("Print status list");
	sqltable = STATUS;
	sqlid = STA_ID; sqlname = STA_NAME;
	colname_id = "Id"; colname_name = "Status";
	HelpTopic("Dictionaries#Status");
	DictStdSetup();
}

void DictStatus::AddingColumns() {
	list.AddIndex(STA_ID);
	list.AddColumn(STA_NAME,"Status name",100).Edit(DctName);
	list.AddColumn(STA_COLOR,"Color",50).SetDisplay(Single<DisplayColorRect>()).Edit(STA_Color);
	STA_Color.SetConvert(Single<ConvertColor>());
	stdctrls 
		(sqlname,DctName)
		(STA_COLOR,STA_Color)
	;
	STA_Color.SetConvert(Single<ConvertColor>());
}

void DictStatus::LoadOneRecord(){
	list(STA_ID) = Dict::sqld[STA_ID];
	list(STA_NAME) = Dict::sqld[STA_NAME];
	list(STA_COLOR) = Dict::sqld[STA_COLOR];
}

//==========================================================================================//


You can see, with wizard you spent more more time.
Classes help write ONE feature with ONE code string.

Usually in application 10-30 dictionaries and 3-10 main data tables.

Make classes for this 2 things and other will be very quckly.

When I start write next application I just copy DictStd call and
little rewrite main table CRUD classes. And application is ready.


The result is two beautiful DictWindow:
index.php?t=getfile&id=3873&private=0


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}

[Updated on: Fri, 14 September 2012 13:19]

Report message to a moderator

Re: U++ needs wizards [message #37287 is a reply to message #37281] Fri, 14 September 2012 16:39 Go to previous message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

IDEA!!!
Add simple wizard for template-driven code generation of Dict's or some other Simple window.

Maybe it will be not in Assist menu or not only in Assist. Maybe in File menu add item "Add with wizard" for newbies.


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Previous Topic: Bug: Scroll icons in home folder
Next Topic: Cannot close the last tab
Goto Forum:
  


Current Time: Sat Apr 20 06:49:00 CEST 2024

Total time taken to generate the page: 0.05093 seconds