Further New Class dialog improvements

Alexander Dymo cloudtemple at mksat.net
Sat Feb 1 15:41:03 UTC 2003


Hello!
I've maked some further improvements to 
"New Class" dialog  and tokenizer.l in parts/cppsupport.

They are:

tokenizer.l:

* class parser is now correctly recognizes multiple Q_ENUMS and
  Q_PROPERTY in header files (for example qwidget.h) 


cppnewclassdlg:

* interface is more consistent
	- correct tab order
	- some widgets are disabled/enabled automatically
	  (for example namespace edit is disabled when
	  objective-c is used)

* baseclass edit widget is now KLineEdit with completion
  (classes are taken from classstores)

* "Class is Q_OBJECT" check box added for those classes
  which need Q_OBJECT macro included in declaration

* "Generate GTK+ Class" check box added - the resulting
  code will be GTK+ class (tempaltes are copied from Anjuta)

* "Move Up" and "Move Down" buttons added, they change
  baseclass order in the list of base classes

* Advanced Inheritance 
  This means three new features:
1) automated constructor creation
If the base class is found in class store the dialog will prompt
to implement base class constructors (see example on the
screenshot for QListViewItem childclass).
Interface also tries to support constructor implementing 
when multiple inheritance is used.

2) automated method overriding
Methods from base classes could be overrided by a mouse click,
they can also extend base class functionality
(call something as baseclass::method(args)) or replace
base class functionality.

3) automated access control
Access modifiers of methods and attributes can be upgraded,
for example protected method could be declared as
public:
	using baseclass::method;


If there is no objections, I can commit.

-- 
Alexander Dymo
Ukrainian State Maritime Technical University, IT department
cloudtemple at mksat.net
http://www.cloudtemple.mksat.net




-------------- next part --------------
A non-text attachment was scrubbed...
Name: newclass_adv_access3.png
Type: image/png
Size: 7337 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20030201/0d7c4156/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: newclass_adv_override3.png
Type: image/png
Size: 6898 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20030201/0d7c4156/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: newclass_adv_constructors2.png
Type: image/png
Size: 12085 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20030201/0d7c4156/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cppsupport.diff.bz2
Type: application/x-bzip2
Size: 16190 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20030201/0d7c4156/attachment.bin>


More information about the KDevelop-devel mailing list