KexiDBFactory::KexiDBFactory(QObject *parent, const QVariantList &) : KexiDBFactoryBase(parent) , m_assignAction(0) { QByteArray parentFactory = "org.kexi-project.form.widgets.standard"; { KexiDataAwareWidgetInfo *wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("form")); wi->setClassName("KexiDBForm"); wi->setName(xi18nc("Form widget", "Form")); wi->setNamePrefix( xi18nc("A prefix for identifiers of forms. Based on that, identifiers such as " "form1, form2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "form")); wi->setDescription(xi18n("A form widget")); addClass(wi); } { // inherited KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("lineedit")); wi->setClassName("KexiDBLineEdit"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("QLineEdit"); wi->addAlternateClassName("KLineEdit", true/*override*/); wi->setIncludeFileName("qlineedit.h"); wi->setName(xi18nc("Text Box widget", "Text Box")); wi->setNamePrefix( xi18nc("A prefix for identifiers of text box widgets. Based on that, identifiers such as " "textBox1, textBox2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "textBox")); wi->setDescription(xi18n("A widget for entering and displaying line of text text")); wi->setInternalProperty("dontStartEditingOnInserting", true); // because we are most probably assign data source to this widget wi->setInlineEditingEnabledWhenDataSourceSet(false); addClass(wi); } { // inherited KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("textedit")); wi->setClassName("KexiDBTextEdit"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("KTextEdit"); wi->addAlternateClassName("QTextEdit", true/*override*/); wi->addAlternateClassName("KTextEdit", true/*override*/); wi->setIncludeFileName("KTextEdit"); wi->setName(xi18nc("Text Editor widget", "Text Editor")); wi->setNamePrefix( xi18nc("A prefix for identifiers of text editor widgets. Based on that, identifiers such as " "textEditor1, textEditor2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "textEditor")); wi->setDescription(xi18n("A multiline text editor")); wi->setInternalProperty("dontStartEditingOnInserting", true); // because we are most probably assign data source to this widget wi->setInlineEditingEnabledWhenDataSourceSet(false); addClass(wi); } { KFormDesigner::WidgetInfo* wi = new KFormDesigner::WidgetInfo(this); wi->setIconName(koIconName("frame")); wi->setClassName("KexiFrame"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("QFrame"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("QFrame", true/*override*/); wi->addAlternateClassName("Q3Frame", true/*override*/); wi->setName(xi18nc("Frame widget", "Frame")); wi->setNamePrefix( xi18nc("A prefix for identifiers of frame widgets. Based on that, identifiers such as " "frame1, frame2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "frame")); wi->setDescription(xi18n("A frame widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("label")); wi->setClassName("KexiDBLabel"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("QLabel"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("QLabel", true/*override*/); wi->addAlternateClassName("KexiLabel", true/*override*/); //older wi->setName(xi18nc("Text Label widget", "Label")); wi->setNamePrefix( xi18nc("A prefix for identifiers of label widgets. Based on that, identifiers such as " "label1, label2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "label")); wi->setDescription(xi18n("A widget for displaying text")); wi->setInlineEditingEnabledWhenDataSourceSet(false); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("pixmaplabel")); wi->setClassName("KexiDBImageBox"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("KexiPictureLabel"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("KexiPictureLabel", true/*override*/); wi->addAlternateClassName("KexiImageBox", true/*override*/); //older wi->setName(xi18nc("Image Box widget", "Image Box")); wi->setNamePrefix( xi18nc("A prefix for identifiers of image box widgets. Based on that, identifiers such as " "image1, image2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "image")); wi->setDescription(xi18n("A widget for displaying images")); // wi->setCustomTypeForProperty("pixmapData", KexiCustomPropertyFactory::PixmapData); wi->setCustomTypeForProperty("pixmapId", KexiCustomPropertyFactory::PixmapId); wi->setInternalProperty("dontStartEditingOnInserting", true); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("combo")); wi->setClassName("KexiDBComboBox"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("KComboBox"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("KComboBox", true/*override*/); wi->setName(xi18nc("Combo Box widget", "Combo Box")); wi->setNamePrefix( xi18nc("A prefix for identifiers of combo box widgets. Based on that, identifiers such as " "comboBox1, comboBox2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "comboBox")); wi->setDescription(xi18n("A combo box widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("check")); wi->setClassName("KexiDBCheckBox"); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("QCheckBox"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("QCheckBox", true/*override*/); wi->setName(xi18nc("Check Box widget", "Check Box")); wi->setNamePrefix( xi18nc("A prefix for identifiers of combo box widgets. Based on that, identifiers such as " "checkBox1, checkBox2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "checkBox")); wi->setDescription(xi18n("A check box with text label")); addClass(wi); } #ifdef KEXI_AUTOFIELD_FORM_WIDGET_SUPPORT { // Unused, commented-out in Kexi 2.9 to avoid unnecessary translations: // KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); // wi->setIconName(koIconName("autofield")); // wi->setClassName("KexiDBAutoField"); // wi->addAlternateClassName("KexiDBFieldEdit", true/*override*/); //older // wi->setName(xi18n("Auto Field")); // wi->setNamePrefix( // i18nc("Widget name. This string will be used to name widgets of this class. " // "It must _not_ contain white spaces and non latin1 characters", "autoField")); // wi->setDescription(xi18n("A widget containing an automatically selected editor " // "and a label to edit the value of a database field of any type.")); // addClass(wi); } #endif { // inherited KFormDesigner::WidgetInfo* wi = new KFormDesigner::WidgetInfo(this); wi->addAlternateClassName("KexiDBPushButton"); wi->addAlternateClassName("KexiPushButton"); wi->setName(xi18nc("Button widget", "Button")); wi->setNamePrefix( xi18nc("A prefix for identifiers of button widgets. Based on that, identifiers such as " "button1, button2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "button")); wi->setDescription(xi18n("A button for executing actions")); wi->setParentFactoryName(parentFactory); wi->setInheritedClassName("QPushButton"); addClass(wi); } { KFormDesigner::WidgetInfo* wi = new KFormDesigner::WidgetInfo(this); wi->setClassName("KexiDBCommandLinkButton"); wi->setIconName(koIconName("button")); wi->setName(xi18nc("Link Button widget", "Link Button")); wi->setNamePrefix( xi18nc("A prefix for identifiers of link button widgets. Based on that, identifiers such as " "linkButton1, linkButton2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "linkButton")); wi->setDescription(xi18n("A Link button for executing actions")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("slider")); wi->setClassName("KexiDBSlider"); wi->setName(xi18nc("Slider widget", "Slider")); wi->setNamePrefix( xi18nc("A prefix for identifiers of slider widgets. Based on that, identifiers such as " "slider1, slider2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "slider")); wi->setDescription(xi18n("A Slider widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("progress")); wi->setClassName("KexiDBProgressBar"); wi->setName(xi18nc("Progress Bar widget", "Progress Bar")); wi->setNamePrefix( xi18nc("A prefix for identifiers of progress bar widgets. Based on that, identifiers such as " "progressBar1, progressBar2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "progressBar")); wi->setDescription(xi18n("A Progress Bar widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("dateedit")); wi->setClassName("KexiDBDatePicker"); wi->setName(xi18nc("Date Picker widget", "Date Picker")); wi->setNamePrefix( xi18nc("A prefix for identifiers of date picker widgets. Based on that, identifiers such as " "datePicker1, datePicker2 are generated. " "This string can be used to refer the widget object as variables in programming " "languages or macros so it must _not_ contain white spaces and non latin1 characters, " "should start with lower case letter and if there are subsequent words, these should " "start with upper case letter. Example: smallCamelCase. " "Moreover, try to make this prefix as short as possible.", "datePicker")); wi->setDescription(xi18n("A Date Picker widget")); addClass(wi); } setPropertyDescription("invertedAppearance", xi18n("Inverted")); setPropertyDescription("minimum", xi18n("Minimum")); setPropertyDescription("maximum", xi18n("Maximum")); setPropertyDescription("format", xi18n("Format")); setPropertyDescription("orientation", xi18n("Orientation")); setPropertyDescription("textDirection", xi18n("Text Direction")); setPropertyDescription("textVisible", xi18n("Text Visible")); setPropertyDescription("value", xi18n("Value")); setPropertyDescription("date", xi18n("Date")); setPropertyDescription("arrowVisible", xi18n("Arrow Visible")); setPropertyDescription("description", xi18n("Description")); setPropertyDescription("pageStep", xi18nc("Property of slider widgets", "Page Step")); setPropertyDescription("singleStep", xi18nc("Property of slider widgets", "Single Step")); setPropertyDescription("tickInterval", xi18nc("Property of slider widgets", "Tick Interval")); setPropertyDescription("tickPosition", xi18nc("Property of slider widgets", "Tick Position")); setPropertyDescription("showEditor", xi18n("Show Editor")); setPropertyDescription("formName", xi18n("Form Name")); setPropertyDescription("onClickAction", xi18n("On Click")); setPropertyDescription("onClickActionOption", xi18n("On Click Option")); setPropertyDescription("autoTabStops", xi18n("Auto Tab Order")); setPropertyDescription("checkSpellingEnabled", xi18n("Spell Checking")); setPropertyDescription("html", xi18nc("Widget Property", "HTML")); setPropertyDescription("lineWrapColumnOrWidth", xi18n("Line Wrap At")); setPropertyDescription("lineWrapMode", xi18n("Line Wrap Mode")); setPropertyDescription("spellCheckingLanguage", xi18n("Spell Checking Language")); setPropertyDescription("widgetType", xi18n("Editor Type")); #ifdef KEXI_AUTOFIELD_FORM_WIDGET_SUPPORT //for autofield's type: inherit i18n from KexiDB setValueDescription("Auto", futureI18nc("AutoField editor's type", "Auto")); setValueDescription("Text", KDbField::typeName(KDbField::Text)); setValueDescription("Integer", KDbField::typeName(KDbField::Integer)); setValueDescription("Double", KDbField::typeName(KDbField::Double)); setValueDescription("Boolean", KDbField::typeName(KDbField::Boolean)); setValueDescription("Date", KDbField::typeName(KDbField::Date)); setValueDescription("Time", KDbField::typeName(KDbField::Time)); setValueDescription("DateTime", KDbField::typeName(KDbField::DateTime)); setValueDescription("MultiLineText", xi18nc("AutoField editor's type", "Multiline Text")); setValueDescription("ComboBox", xi18nc("AutoField editor's type", "Drop-Down List")); setValueDescription("Image", xi18nc("AutoField editor's type", "Image")); #endif setValueDescription("NoTicks", xi18nc("Possible value of slider widget's \"Tick position\" property", "No Ticks")); setValueDescription("TicksAbove", xi18nc("Possible value of slider widget's \"Tick position\" property", "Above")); setValueDescription("TicksLeft", xi18nc("Possible value of slider widget's \"Tick position\" property", "Left")); setValueDescription("TicksBelow", xi18nc("Possible value of slider widget's \"Tick position\" property", "Below")); setValueDescription("TicksRight", xi18nc("Possible value of slider widget's \"Tick position\" property", "Right")); setValueDescription("TicksBothSides", xi18nc("Possible value of slider widget's \"Tick position\" property", "Both Sides")); // auto field: // setPropertyDescription("autoCaption", futureI18n("Auto Label")); // setPropertyDescription("foregroundLabelColor", futureI18n("Label Text Color")); // setPropertyDescription("backgroundLabelColor", futureI18nc("(a property name, keep the text narrow!)", // "Label Background\nColor")); // setPropertyDescription("labelPosition", futureI18n("Label Position")); // setValueDescription("Left", futureI18nc("Label Position", "Left")); // setValueDescription("Top", futureI18nc("Label Position", "Top")); // setValueDescription("NoLabel", futureI18nc("Label Position", "No Label")); setPropertyDescription("sizeInternal", xi18n("Size")); setPropertyDescription("pixmapId", xi18n("Image")); setPropertyDescription("scaledContents", xi18n("Scaled Contents")); setPropertyDescription("smoothTransformation", xi18nc("Property: Smoothing when contents are scaled", "Smoothing")); setPropertyDescription("keepAspectRatio", xi18nc("Property: Keep Aspect Ratio (keep short)", "Keep Ratio")); //hide classes that are replaced by db-aware versions hideClass("KexiPictureLabel"); hideClass("KComboBox"); //used in labels, frames... setPropertyDescription("dropDownButtonVisible", xi18nc("Drop-Down Button for Image Box Visible (a property name, keep the text narrow!)", "Drop-Down\nButton Visible")); //for checkbox setValueDescription("TristateDefault", xi18nc("Value of \"Tristate\" property in checkbox: default", "Default")); setValueDescription("TristateOn", xi18nc("Value of \"Tristate\" property in checkbox: yes", "Yes")); setValueDescription("TristateOff", xi18nc("Value of \"Tristate\" property in checkbox: no", "No")); //for combobox setPropertyDescription("editable", xi18nc("Editable combobox", "Editable")); //for kexipushbutton setPropertyDescription("hyperlink" , xi18nc("Hyperlink address", "Hyperlink")); setPropertyDescription("hyperlinkType", xi18nc("Type of hyperlink", "Hyperlink Type")); setPropertyDescription("hyperlinkTool", xi18nc("Tool used for opening a hyperlink", "Hyperlink Tool")); setPropertyDescription("remoteHyperlink", xi18nc("Allow to open remote hyperlinks", "Remote Hyperlink")); setPropertyDescription("hyperlinkExecutable", xi18nc("Allow to open executables", "Executable Hyperlink")); setValueDescription("NoHyperlink", xi18nc("Hyperlink type, NoHyperlink", "No Hyperlink")); setValueDescription("StaticHyperlink", xi18nc("Hyperlink type, StaticHyperlink", "Static")); setValueDescription("DynamicHyperlink", xi18nc("Hyperlink type, DynamicHyperlink", "Dynamic")); setValueDescription("DefaultHyperlinkTool", xi18nc("Hyperlink tool, DefaultTool", "Default")); setValueDescription("BrowserHyperlinkTool", xi18nc("Hyperlink tool, BrowserTool", "Browser")); setValueDescription("MailerHyperlinkTool", xi18nc("Hyperlink tool, MailerTool", "Mailer")); }
StdWidgetFactory::StdWidgetFactory(QObject *parent, const char *, const QStringList &) : KFormDesigner::WidgetFactory(parent, "stdwidgets") { KFormDesigner::WidgetInfo *wFormWidget = new KFormDesigner::WidgetInfo(this); wFormWidget->setPixmap("form"); wFormWidget->setClassName("FormWidgetBase"); wFormWidget->setName(i18n("Form")); wFormWidget->setNamePrefix(i18n("This string will be used to name widgets of this class. It must _not_ contain white " "spaces and non latin1 characters.", "form")); wFormWidget->setDescription(i18n("A simple form widget")); addClass(wFormWidget); KFormDesigner::WidgetInfo *wCustomWidget = new KFormDesigner::WidgetInfo(this); wCustomWidget->setPixmap("unknown_widget"); wCustomWidget->setClassName("CustomWidget"); wCustomWidget->setName(i18n("Custom Widget")); wCustomWidget->setNamePrefix(i18n("This string will be used to name widgets of this class. It must _not_ contain white " "spaces and non latin1 characters.", "customWidget")); wCustomWidget->setDescription(i18n("A custom or non-supported widget")); addClass(wCustomWidget); KFormDesigner::WidgetInfo *wLabel = new KFormDesigner::WidgetInfo(this); wLabel->setPixmap("label"); wLabel->setClassName("QLabel"); wLabel->setName(i18n("Text Label")); wLabel->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "label")); wLabel->setDescription(i18n("A widget to display text")); addClass(wLabel); KFormDesigner::WidgetInfo *wPixLabel = new KFormDesigner::WidgetInfo(this); wPixLabel->setPixmap("pixmaplabel"); wPixLabel->setClassName("KexiPictureLabel"); wPixLabel->setName(i18n("Picture Label")); //! @todo Qt designer compatibility: maybe use this class when QLabel has a pixmap set...? //wPixLabel->addAlternateClassName("QLabel"); wPixLabel->setSavingName("KexiPictureLabel"); wPixLabel->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "picture")); wPixLabel->setDescription(i18n("A widget to display pictures")); addClass(wPixLabel); KFormDesigner::WidgetInfo *wLineEdit = new KFormDesigner::WidgetInfo(this); wLineEdit->setPixmap("lineedit"); wLineEdit->setClassName("KLineEdit"); wLineEdit->addAlternateClassName("QLineEdit"); wLineEdit->setIncludeFileName("klineedit.h"); wLineEdit->setName(i18n("Line Edit")); wLineEdit->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "lineEdit")); wLineEdit->setDescription(i18n("A widget to input text")); addClass(wLineEdit); KFormDesigner::WidgetInfo *wSpring = new KFormDesigner::WidgetInfo(this); wSpring->setPixmap("spring"); wSpring->setClassName("Spring"); wSpring->setName(i18n("Spring")); wSpring->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "spring")); wSpring->setDescription(i18n("A spring to place between widgets")); addClass(wSpring); KFormDesigner::WidgetInfo *wPushButton = new KFormDesigner::WidgetInfo(this); wPushButton->setPixmap("button"); wPushButton->setClassName("KPushButton"); wPushButton->addAlternateClassName("QPushButton"); wPushButton->setIncludeFileName("kpushbutton.h"); wPushButton->setName(i18n("Push Button")); wPushButton->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "button")); wPushButton->setDescription(i18n("A simple push button to execute actions")); addClass(wPushButton); KFormDesigner::WidgetInfo *wRadioButton = new KFormDesigner::WidgetInfo(this); wRadioButton->setPixmap("radio"); wRadioButton->setClassName("QRadioButton"); wRadioButton->setName(i18n("Option Button")); wRadioButton->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "optionButton")); wRadioButton->setDescription(i18n("An option button with text or pixmap label")); addClass(wRadioButton); KFormDesigner::WidgetInfo *wCheckBox = new KFormDesigner::WidgetInfo(this); wCheckBox->setPixmap("check"); wCheckBox->setClassName("QCheckBox"); wCheckBox->setName(i18n("Check Box")); wCheckBox->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "checkBox")); wCheckBox->setDescription(i18n("A check box with text or pixmap label")); addClass(wCheckBox); KFormDesigner::WidgetInfo *wSpinBox = new KFormDesigner::WidgetInfo(this); wSpinBox->setPixmap("spin"); wSpinBox->setClassName("KIntSpinBox"); wSpinBox->addAlternateClassName("QSpinBox"); wSpinBox->setIncludeFileName("knuminput.h"); wSpinBox->setName(i18n("Spin Box")); wSpinBox->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "spinBox")); wSpinBox->setDescription(i18n("A spin box widget")); addClass(wSpinBox); KFormDesigner::WidgetInfo *wComboBox = new KFormDesigner::WidgetInfo(this); wComboBox->setPixmap("combo"); wComboBox->setClassName("KComboBox"); wComboBox->addAlternateClassName("QComboBox"); wComboBox->setIncludeFileName("kcombobox.h"); wComboBox->setName(i18n("Combo Box")); wComboBox->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "comboBox")); wComboBox->setDescription(i18n("A combo box widget")); addClass(wComboBox); KFormDesigner::WidgetInfo *wListBox = new KFormDesigner::WidgetInfo(this); wListBox->setPixmap("listbox"); wListBox->setClassName("KListBox"); wListBox->addAlternateClassName("QListBox"); wListBox->setIncludeFileName("klistbox.h"); wListBox->setName(i18n("List Box")); wListBox->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "listBox")); wListBox->setDescription(i18n("A simple list widget")); addClass(wListBox); KFormDesigner::WidgetInfo *wTextEdit = new KFormDesigner::WidgetInfo(this); wTextEdit->setPixmap("textedit"); wTextEdit->setClassName("KTextEdit"); wTextEdit->addAlternateClassName("QTextEdit"); wTextEdit->setIncludeFileName("ktextedit.h"); wTextEdit->setName(i18n("Text Editor")); wTextEdit->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "textEditor")); wTextEdit->setDescription(i18n("A simple single-page rich text editor")); addClass(wTextEdit); KFormDesigner::WidgetInfo *wListView = new KFormDesigner::WidgetInfo(this); wListView->setPixmap("listview"); wListView->setClassName("KListView"); wListView->addAlternateClassName("QListView"); wListView->setIncludeFileName("klistview.h"); wListView->setName(i18n("List View")); wListView->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "listView")); wListView->setDescription(i18n("A list (or tree) widget")); addClass(wListView); KFormDesigner::WidgetInfo *wSlider = new KFormDesigner::WidgetInfo(this); wSlider->setPixmap("slider"); wSlider->setClassName("QSlider"); wSlider->setName(i18n("Slider")); wSlider->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "slider")); wSlider->setDescription(i18n("An horizontal slider")); addClass(wSlider); KFormDesigner::WidgetInfo *wProgressBar = new KFormDesigner::WidgetInfo(this); wProgressBar->setPixmap("progress"); wProgressBar->setClassName("KProgress"); wProgressBar->addAlternateClassName("QProgressBar"); wProgressBar->setIncludeFileName("kprogress.h"); wProgressBar->setName(i18n("Progress Bar")); wProgressBar->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "progressBar")); wProgressBar->setDescription(i18n("A progress indicator widget")); addClass(wProgressBar); KFormDesigner::WidgetInfo *wLine = new KFormDesigner::WidgetInfo(this); wLine->setPixmap("line"); wLine->setClassName("Line"); wLine->setName(i18n("Line")); wLine->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "line")); wLine->setDescription(i18n("A line to be used as a separator")); addClass(wLine); KFormDesigner::WidgetInfo *wDate = new KFormDesigner::WidgetInfo(this); wDate->setPixmap("dateedit"); wDate->setClassName("KDateWidget"); #if KDE_VERSION >= KDE_MAKE_VERSION(3,1,9) wDate->addAlternateClassName("QDateEdit"); wDate->setIncludeFileName("kdatewidget.h"); #endif wDate->setName(i18n("Date Widget")); wDate->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "dateWidget")); wDate->setDescription(i18n("A widget to input and display a date")); addClass(wDate); KFormDesigner::WidgetInfo *wTime = new KFormDesigner::WidgetInfo(this); wTime->setPixmap("timeedit"); wTime->setClassName("KTimeWidget"); #if KDE_VERSION >= KDE_MAKE_VERSION(3,1,9) wTime->addAlternateClassName("QTimeEdit"); wTime->setIncludeFileName("ktimewidget.h"); #endif wTime->setName(i18n("Time Widget")); wTime->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "timeWidget")); wTime->setDescription(i18n("A widget to input and display a time")); addClass(wTime); KFormDesigner::WidgetInfo *wDateTime = new KFormDesigner::WidgetInfo(this); wDateTime->setPixmap("datetimeedit"); wDateTime->setClassName("KDateTimeWidget"); #if KDE_VERSION >= KDE_MAKE_VERSION(3,1,9) wDateTime->addAlternateClassName("QDateTimeEdit"); wDateTime->setIncludeFileName("kdatetimewidget.h"); #endif wDateTime->setName(i18n("Date/Time Widget")); wDateTime->setNamePrefix( i18n("Widget name. This string will be used to name widgets of this class. It must _not_ contain white spaces and non latin1 characters.", "dateTimeWidget")); wDateTime->setDescription(i18n("A widget to input and display a time and a date")); addClass(wDateTime); m_propDesc["toggleButton"] = i18n("Toggle"); m_propDesc["autoRepeat"] = i18n("Auto Repeat"); m_propDesc["autoDefault"] = i18n("Auto Default"); m_propDesc["default"] = i18n("Default"); m_propDesc["flat"] = i18n("Flat"); m_propDesc["echoMode"] = i18n("Echo mode for Line Edit widget eg. Normal, NoEcho, Password","Echo Mode"); m_propDesc["indent"] = i18n("Indent"); //line m_propDesc["orientation"] = i18n("Orientation"); //checkbox m_propDesc["checked"] = i18n("Checked checkbox", "Checked"); m_propDesc["tristate"] = i18n("Tristate checkbox", "Tristate"); //for EchoMode m_propValDesc["Normal"] = i18n("For Echo Mode", "Normal"); m_propValDesc["NoEcho"] = i18n("For Echo Mode", "No Echo"); m_propValDesc["Password"] = i18n("For Echo Mode", "Password"); //for spring m_propDesc["sizeType"] = i18n("Size Type"); //for labels m_propDesc["textFormat"] = i18n("Text Format"); m_propValDesc["PlainText"] = i18n("For Text Format", "Plain"); m_propValDesc["RichText"] = i18n("For Text Format", "Hypertext"); m_propValDesc["AutoText"] = i18n("For Text Format", "Auto"); m_propValDesc["LogText"] = i18n("For Text Format", "Log"); //KTextEdit m_propDesc["tabStopWidth"] = i18n("Tab Stop Width"); m_propDesc["tabChangesFocus"] = i18n("Tab Changes Focus"); m_propDesc["wrapPolicy"] = i18n("Word Wrap Policy"); m_propValDesc["AtWordBoundary"] = i18n("For Word Wrap Policy", "At Word Boundary"); m_propValDesc["Anywhere"] = i18n("For Word Wrap Policy", "Anywhere"); m_propValDesc["AtWordOrDocumentBoundary"] = i18n("For Word Wrap Policy", "At Word Boundary If Possible"); m_propDesc["wordWrap"] = i18n("Word Wrapping"); m_propDesc["wrapColumnOrWidth"] = i18n("Word Wrap Position"); m_propValDesc["NoWrap"] = i18n("For Word Wrap Position", "None"); m_propValDesc["WidgetWidth"] = i18n("For Word Wrap Position", "Widget's Width"); m_propValDesc["FixedPixelWidth"] = i18n("For Word Wrap Position", "In Pixels"); m_propValDesc["FixedColumnWidth"] = i18n("For Word Wrap Position", "In Columns"); m_propDesc["linkUnderline"] = i18n("Links Underlined"); //internal props setInternalProperty("Line","orientationSelectionPopup","1"); setInternalProperty("Line","orientationSelectionPopup:horizontalIcon","line_horizontal"); setInternalProperty("Line","orientationSelectionPopup:verticalIcon","line_vertical"); setInternalProperty("Line","orientationSelectionPopup:horizontalText",i18n("Insert &Horizontal Line")); setInternalProperty("Line","orientationSelectionPopup:verticalText",i18n("Insert &Vertical Line")); setInternalProperty("Spring","orientationSelectionPopup","1"); setInternalProperty("Spring","orientationSelectionPopup:horizontalIcon","spring"); setInternalProperty("Spring","orientationSelectionPopup:verticalIcon","spring_vertical"); setInternalProperty("Spring","orientationSelectionPopup:horizontalText",i18n("Insert &Horizontal Spring")); setInternalProperty("Spring","orientationSelectionPopup:verticalText",i18n("Insert &Vertical Spring")); }
KexiDBFactory::KexiDBFactory(QObject *parent, const QVariantList &) : KexiDBFactoryBase(parent, "kexidb") , m_assignAction(0) { { KexiDataAwareWidgetInfo *wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("form")); wi->setClassName("KexiDBForm"); wi->setName(i18n("Form")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "form")); wi->setDescription(i18n("A data-aware form widget")); addClass(wi); } #ifndef KEXI_NO_SUBFORM { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("subform")); wi->setClassName("KexiDBSubForm"); wi->addAlternateClassName("KexiSubForm", true/*override*/); //older wi->setName(i18n("Sub Form")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "subForm")); wi->setDescription(i18n("A form widget included in another Form")); wi->setAutoSyncForProperty("formName", false); addClass(wi); } #endif { // inherited KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("lineedit")); wi->setClassName("KexiDBLineEdit"); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("QLineEdit"); wi->addAlternateClassName("QLineEdit", true/*override*/); wi->addAlternateClassName("QLineEdit", true/*override*/); wi->setIncludeFileName("QLineEdit"); wi->setName(i18n("Text Box")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "textBox")); wi->setDescription(i18n("A widget for entering and displaying text")); wi->setInternalProperty("dontStartEditingOnInserting", true); // because we are most probably assign data source to this widget wi->setInlineEditingEnabledWhenDataSourceSet(false); addClass(wi); } { // inherited KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("textedit")); wi->setClassName("KexiDBTextEdit"); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("KTextEdit"); wi->addAlternateClassName("QTextEdit", true/*override*/); wi->addAlternateClassName("KTextEdit", true/*override*/); wi->setIncludeFileName("ktextedit.h"); wi->setName(i18n("Text Editor")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "textEditor")); wi->setDescription(i18n("A multiline text editor")); wi->setInternalProperty("dontStartEditingOnInserting", true); // because we are most probably assign data source to this widget wi->setInlineEditingEnabledWhenDataSourceSet(false); addClass(wi); } { KFormDesigner::WidgetInfo* wi = new KFormDesigner::WidgetInfo(this); wi->setIconName(koIconName("frame")); wi->setClassName("KexiFrame"); wi->setParentFactoryName("containers"); wi->setInheritedClassName("QFrame"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("QFrame", true/*override*/); wi->addAlternateClassName("Q3Frame", true/*override*/); wi->setName(i18n("Frame")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "frame")); wi->setDescription(i18n("A simple frame widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("label")); wi->setClassName("KexiDBLabel"); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("QLabel"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("QLabel", true/*override*/); wi->addAlternateClassName("KexiLabel", true/*override*/); //older wi->setName(i18nc("Text Label", "Label")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "label")); wi->setDescription(i18n("A widget for displaying text")); wi->setInlineEditingEnabledWhenDataSourceSet(false); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("pixmaplabel")); wi->setClassName("KexiDBImageBox"); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("KexiPictureLabel"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("KexiPictureLabel", true/*override*/); wi->addAlternateClassName("KexiImageBox", true/*override*/); //older wi->setName(i18n("Image Box")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "image")); wi->setDescription(i18n("A widget for displaying images")); // wi->setCustomTypeForProperty("pixmapData", KexiCustomPropertyFactory::PixmapData); wi->setCustomTypeForProperty("pixmapId", KexiCustomPropertyFactory::PixmapId); wi->setInternalProperty("dontStartEditingOnInserting", true); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("combo")); wi->setClassName("KexiDBComboBox"); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("KComboBox"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("KComboBox", true/*override*/); wi->setName(i18n("Combo Box")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "comboBox")); wi->setDescription(i18n("A combo box widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("check")); wi->setClassName("KexiDBCheckBox"); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("QCheckBox"); /* we are inheriting to get i18n'd strings already translated there */ wi->addAlternateClassName("QCheckBox", true/*override*/); wi->setName(i18n("Check Box")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "checkBox")); wi->setDescription(i18n("A check box with text label")); addClass(wi); } #ifndef KEXI_NO_AUTOFIELD_WIDGET { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("autofield")); wi->setClassName("KexiDBAutoField"); wi->addAlternateClassName("KexiDBFieldEdit", true/*override*/); //older wi->setName(i18n("Auto Field")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters", "autoField")); wi->setDescription(i18n("A widget containing an automatically selected editor " "and a label to edit the value of a database field of any type.")); addClass(wi); } #endif { // inherited KFormDesigner::WidgetInfo* wi = new KFormDesigner::WidgetInfo(this); wi->addAlternateClassName("KexiPushButton"); wi->setName(i18n("Button")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "button")); wi->setDescription(i18n("A button for executing actions")); wi->setParentFactoryName("stdwidgets"); wi->setInheritedClassName("KPushButton"); addClass(wi); } { KFormDesigner::WidgetInfo* wi = new KFormDesigner::WidgetInfo(this); wi->setClassName("KexiDBCommandLinkButton"); wi->setIconName(koIconName("button")); wi->setName(i18n("Link Button")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "linkButton")); wi->setDescription(i18n("A Link button for executing actions")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("slider")); wi->setClassName("KexiDBSlider"); wi->setName(i18n("Slider")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "slider")); wi->setDescription(i18n("A Slider widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("progress")); wi->setClassName("KexiDBProgressBar"); wi->setName(i18n("Progress Bar")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "progressBar")); wi->setDescription(i18n("A Progress Bar widget")); addClass(wi); } { KexiDataAwareWidgetInfo* wi = new KexiDataAwareWidgetInfo(this); wi->setIconName(koIconName("dateedit")); wi->setClassName("KexiDBDatePicker"); wi->setName(i18n("Date Picker")); wi->setNamePrefix( i18nc("Widget name. This string will be used to name widgets of this class. " "It must _not_ contain white spaces and non latin1 characters.", "datePicker")); wi->setDescription(i18n("A Date Picker widget")); addClass(wi); } setPropertyDescription("invertedAppearance", i18n("Inverted")); setPropertyDescription("minimum", i18n("Minimum")); setPropertyDescription("maximum", i18n("Maximum")); setPropertyDescription("format", i18n("Format")); setPropertyDescription("orientation", i18n("Orientation")); setPropertyDescription("textDirection", i18n("Text Direction")); setPropertyDescription("textVisible", i18n("Text Visible")); setPropertyDescription("value", i18n("Value")); setPropertyDescription("date", i18n("Date")); setPropertyDescription("arrowVisible", i18n("Arrow Visible")); setPropertyDescription("description", i18n("Description")); setPropertyDescription("pageStep", i18n("Page Step")); setPropertyDescription("singleStep", i18n("Single Step")); setPropertyDescription("tickInterval", i18n("Tick Interval")); setPropertyDescription("tickPosition", i18n("Tick Position")); setPropertyDescription("showEditor", i18n("Show Editor")); setPropertyDescription("formName", i18n("Form Name")); setPropertyDescription("onClickAction", i18n("On Click")); setPropertyDescription("onClickActionOption", i18n("On Click Option")); setPropertyDescription("autoTabStops", i18n("Auto Tab Order")); setPropertyDescription("shadowEnabled", i18n("Shadow Enabled")); setPropertyDescription("on", i18nc("On: button", "On")); setPropertyDescription("widgetType", i18n("Editor Type")); //for autofield's type: inherit i18n from KexiDB setValueDescription("Auto", i18nc("AutoField editor's type", "Auto")); setValueDescription("Text", KexiDB::Field::typeName(KexiDB::Field::Text)); setValueDescription("Integer", KexiDB::Field::typeName(KexiDB::Field::Integer)); setValueDescription("Double", KexiDB::Field::typeName(KexiDB::Field::Double)); setValueDescription("Boolean", KexiDB::Field::typeName(KexiDB::Field::Boolean)); setValueDescription("Date", KexiDB::Field::typeName(KexiDB::Field::Date)); setValueDescription("Time", KexiDB::Field::typeName(KexiDB::Field::Time)); setValueDescription("DateTime", KexiDB::Field::typeName(KexiDB::Field::DateTime)); setValueDescription("MultiLineText", i18nc("AutoField editor's type", "Multiline Text")); setValueDescription("ComboBox", i18nc("AutoField editor's type", "Drop-Down List")); setValueDescription("Image", i18nc("AutoField editor's type", "Image")); setValueDescription("NoTicks", i18n("No Ticks")); setValueDescription("TicksAbove", i18n("Above")); setValueDescription("TicksLeft", i18n("Left")); setValueDescription("TicksBelow", i18n("Below")); setValueDescription("TicksRight", i18n("Right")); setValueDescription("TicksBothSides", i18n("Both Sides")); setPropertyDescription("autoCaption", i18n("Auto Label")); setPropertyDescription("foregroundLabelColor", i18n("Label Text Color")); setPropertyDescription("backgroundLabelColor", i18nc("(a property name, keep the text narrow!)", "Label Background\nColor")); setPropertyDescription("labelPosition", i18n("Label Position")); setValueDescription("Left", i18nc("Label Position", "Left")); setValueDescription("Top", i18nc("Label Position", "Top")); setValueDescription("NoLabel", i18nc("Label Position", "No Label")); setPropertyDescription("sizeInternal", i18n("Size")); setPropertyDescription("pixmapId", i18n("Image")); setPropertyDescription("scaledContents", i18n("Scaled Contents")); setPropertyDescription("smoothTransformation", i18nc("Smoothing when contents are scaled", "Smoothing")); setPropertyDescription("keepAspectRatio", i18nc("Keep Aspect Ratio (short)", "Keep Ratio")); //hide classes that are replaced by db-aware versions hideClass("KexiPictureLabel"); hideClass("KComboBox"); //used in labels, frames... setPropertyDescription("dropDownButtonVisible", i18nc("Drop-Down Button for Image Box Visible (a property name, keep the text narrow!)", "Drop-Down\nButton Visible")); //for checkbox setValueDescription("TristateDefault", i18nc("Tristate checkbox, default", "Default")); setValueDescription("TristateOn", i18nc("Tristate checkbox, yes", "Yes")); setValueDescription("TristateOff", i18nc("Tristate checkbox, no", "No")); //for combobox setPropertyDescription("editable", i18nc("Editable combobox", "Editable")); }