c++ based makekdewidgets

Ian Reinhart Geiser geiseri at yahoo.com
Tue Feb 3 05:58:50 GMT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi
due to chasing a bug with makekdewidgets the perl script that has served us 
well so so long, i got really bogged down.  I was able to convert the perl 
script to C++ (ironicly about the same number of lines and equal 
functionality)  and made a very minor modification to the kde.widgets file so 
that it is a valid ini style file.

Here are the advantages:
	* We can use this binary now to build kdewidget plugins for libs like
	kdeedu, kdegames and koffice now in a very trivial way
	* This is C++ therefor easier for us to maintain because after all
	most of us here know C++ ;)
	* Behaves like a standard KDE command line app with help and all
	the good things a cli app should have.
	* Since this is a self contained binary in kdelibs we can construct these
	widgets on the fly, thus reducing the amount of auto generated code
	we keep in cvs.
Here are the disadvantages:
	* That script has been pretty well tested and does everything we ask it to do
	so far.  (Barring containers, and name spaced classes)

I'm biased to the C++ method since I don't since for me its easier to extend.  
While a more eloquent solution will probably come out of the following thread 
I'm interested to see what people think of this approach.


To test this just place the attached files into your kdelibs/kdewidgets cvs 
directory and remove makekdewidgets the perl script.  At this point I have 
tested this with unsermake, without unsermake, and in builddir != srcdir

Cheers	
- -ian reinhart geiser

 
- -- 
- --:Ian Reinhart Geiser <geiseri at yahoo.com>
- --:Public Key: http://geiseri.myip.org/~geiseri/publickey.asc
- --:Public Calender: http://geiseri.myip.org/~geiseri/publicevents.ics
- --:Jabber: geiseri at geiseri.myip.org
- --:Be an optimist -- at least until they start moving animals in 
- --:   pairs to Cape Canaveral. ~ Source Unknown
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAHziePy62TRm8dvgRAn9AAJ9QhtHEXMwgqEsgPtovYHqOh6vfdgCgywg1
s9AInPQD/8x797q6gAEWOyQ=
=hxvk
-----END PGP SIGNATURE-----
-------------- next part --------------
[Global]
PluginName=KDEWidgets
Includes=kinstance.h,classpreviews.h
Init=new KInstance("kdewidgets");

[KActiveLabel]
ToolTip=Active Label (KDE)
WhatsThis=A label with support for selection and clickable links
Group=Display (KDE)

[KCharSelect]
ToolTip=Character Selection Widget (KDE)
WhatsThis=A widget that allows selection a character out ot a table
Group=Graphics (KDE)

[KColorButton]
ToolTip=Color Chooser Button (KDE)
WhatsThis=A button that allows selecting a color
Group=Graphics (KDE)

[KColorCombo]
ToolTip=Color Combo Box (KDE)
Group=Graphics (KDE)

[KComboBox]
ToolTip=Combo Box (KDE)
Group=Input (KDE)

[KCModule]
ToolTip=KControl Center Module (KDE)
IsContainer=true
Group=Container (KDE)

[KDateWidget]
ToolTip=Date preview (KDE)
Group=Input (KDE)

[KDatePicker]
ToolTip=A date selection widget (KDE)
WhatsThis=Provides a widget for calendar date input
ConstructorArgs=(parent, QDate::currentDate(), name)
Group=Input (KDE)

[KDialog]
IsContainer=true
ImplClass=KDialogPreview
ToolTip=Class for simple Dialogs (KDE)
Group=Container (KDE)

[KDualColorButton]
ToolTip=A widget for selecting two related colors (KDE)
Group=Graphics (KDE)

[KEditListBox]
ToolTip=Fullfeatured edit box with buttons (KDE)
Group=Views (KDE)

[KFontCombo]
ToolTip=Font Combo Box (KDE)
WhatsThis=A QCombo Box showing the installed system fonts (with preview)
Group=Input (KDE)

[KFontChooser]
IncludeFile=kfontdialog.h
IconSet=kfontcombo.png
ToolTip=Font Chooser (KDE)
WhatsThis=A font type, size and style selection widget complete with preview
Group=Input (KDE)

[KFontRequester]
IncludeFile=kfontrequester.h
ToolTip=Font Requester (KDE)
WhatsThis=A compact font selection and preview widget
Group=Input (KDE)

[KGradientSelector]
IncludeFile=kselect.h
WhatsThis=A widget that allows the user to select two colors to form a gradient
Group=Graphics (KDE)

[KHistoryCombo]
IncludeFile=kcombobox.h
ToolTip=A combobox for offering a history and completion (KDE)
WhatsThis=A combobox which implements a history like a unix shell
Group=Input (KDE)

[KHSSelector]
IncludeFile=kcolordialog.h
ToolTip=Widget for Hue/Saturation selection (KDE)
Group=Graphics (KDE)

[KLed]
ToolTip=LED Widget (KDE)
WhatsThis=A widget showing a light emitter diode
Group=Display (KDE)

[KListBox]
ToolTip=Extended List Box (KDE)
WhatsThis=An improved version of the QListBox that follows KDE settings
Group=Views (KDE)

[KListView]
ToolTip=Extended List View (KDE)
WhatsThis=An improved version of the QListView that allows certain KDE extensions
Group=Views (KDE)

[KLineEdit]
ToolTip=Line Edit (KDE)
Group=Input (KDE)

[KPasswordEdit]
IncludeFile=kpassdlg.h
ToolTip=Safe Password LineEdit (KDE)
WhatsThis=A KLineEdit that is safe for prompting the user for passwords
Group=Input (KDE)

[KProgress]
ToolTip=Progress Bar (KDE)
WhatsThis=An improved progress bar for KDE that uses QFrame and QRangeControl
Group=Display (KDE)

[KPushButton]
ToolTip=Improved QPushButton (KDE)
WhatsThis=An improved QPushButton to follow KDE settings
Group=Buttons (KDE)

[KKeyButton]
ToolTip=Keyboard Key Button. (KDE)
WhatsThis=A push button that looks like a keyboard key.
IncludeFile=kkeybutton.h
Group=Buttons (KDE)

[KRestrictedLine]
ToolTip=Line Edit for restricted input (KDE)
Group=Input (KDE)

[KIconButton]
IncludeFile=kicondialog.h
ToolTip=Button for selecting an icon (KDE)
Group=Buttons (KDE)

[KIconView]
IncludeFile=kiconview.h
ToolTip=Extended Icon View (KDE)
WhatsThis=An improved version of the QIconView that allows certain KDE extensions
Group=Views (KDE)

[KIntSpinBox]
IncludeFile=knuminput.h
ToolTip=Enhanced Spinbox for Integer Values (KDE)
Group=Input (KDE)

[KRuler]
ToolTip=Measuring Ruler Widget (KDE)
WhatsThis=A measuring ruler widget as seen in KWord for page widths and heights
Group=Display (KDE)

[KSqueezedTextLabel]
ToolTip=A QLabel that squeezes its text (KDE)
WhatsThis=If the text is too long to fit into the label it is divided into remaining left and right parts which are separated by three dots
ConstructorArgs=("KSqueezedTextLabel", parent, name)
Group=Display (KDE)

[KTextBrowser]
ToolTip=Improved QTextBrowser (KDE)
WhatsThis=An improved version of the QTextBrowser with mail or system browser invocation support
Group=Display (KDE)

[KTextEdit]
ToolTip=Improved QTextEdit (KDE)
WhatsThis=An improved version of the QTextEdit with mail or system browser invocation support
Group=Input (KDE)

[KURLLabel]
ToolTip=URL Label (KDE)
ConstructorArgs=("KURLLabel", QString::null, parent, name)
Group=Display (KDE)

[KURLComboRequester]
ToolTip=URL Requester (KDE)
WhatsThis=A widget holding a combobox and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
IncludeFile=kurlrequester.h
Group=Input (KDE)

[KURLRequester]
ToolTip=URL Requester (KDE)
WhatsThis=A widget holding a lineedit and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
Group=Input (KDE)

[KIntNumInput]
ToolTip=Integer Input Widget (KDE)
WhatsThis=An input widget for integer numbers, consisting of a spinbox and a slider.
IncludeFile=knuminput.h
Group=Input (KDE)

[KDoubleNumInput]
ToolTip=Floating Point Number Input Widget (KDE)
WhatsThis=An input widget for floating point numbers, consisting of a spinbox and a slider.
IncludeFile=knuminput.h
Group=Input (KDE)

[KDoubleSpinBox]
ToolTip=Enhanced Spinbox for Floating Point Values (KDE)
WhatsThis=A spinbox widget for floating point numbers.
IncludeFile=knuminput.h
Group=Input (KDE)

[KTimeWidget]
ToolTip=This widget can be used to display or allow user selection of time. (KDE)
IncludeFile=ktimewidget.h
Group=Input (KDE)

[KDateTimeWidget]
ToolTip=This widget can be used to display or allow user selection of date and time. (KDE)
IncludeFile=kdatetimewidget.h
Group=Input (KDE)

[KDateTable]
IncludeFile=kdatetbl.h
Group=Input (KDE)
ConstructorArgs=(parent, QDate::currentDate(), name)

[KLanguageButton]
IncludeFile=klanguagebutton.h
ToolTip=A widget for selecting a language
WhatsThis=A combobox suitable for selecting a language
Group=Input (KDE)

[KImageFilePreview]
IncludeFile=kimagefilepreview.h
ToolTip=A widget that provides a image preview of a URL
Group=Display (KDE)
ConstructorArgs=(parent)

[KActionSelector]
IncludeFile=kactionselector.h
ToolTip=A widget for selecting and arranging actions/objects
Group=Views (KDE)

[KWritePermsIcon]
IncludeFile=kauthicon.h
ToolTip=Auth icon for write permission display.
ConstructorArgs=("", parent, name)
Group=Display (KDE)

[KRootPermsIcon]
IncludeFile=kauthicon.h
ToolTip=Icon to show whether or not a user has root permissions.
Group=Display (KDE)

[KColorPatch]
IncludeFile=kcolordialog.h
ToolTip=The KColorPatch widget is a (usually small) widget showing a selected color.
Group=Display (KDE)
ConstructorArgs=(parent)

[KPaletteTable]
IncludeFile=kcolordialog.h
ToolTip=A color palette in table form.
Group=Display (KDE)
ConstructorArgs=(parent, 210, 16)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile.am
Type: text/x-makefile
Size: 1489 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20040203/2f769b88/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: makekdewidgets.cpp
Type: text/x-c++src
Size: 9044 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20040203/2f769b88/attachment.cpp>


More information about the kde-core-devel mailing list