From 836ab03e9bdc442bbe8b414007dae294153a748a Mon Sep 17 00:00:00 2001 From: deva Date: Fri, 13 Aug 2010 13:53:59 +0000 Subject: Make validation run deep (or not). --- client/widgets/widget.cc | 7 ++++--- client/widgets/widget.h | 20 +++----------------- 2 files changed, 7 insertions(+), 20 deletions(-) (limited to 'client/widgets') diff --git a/client/widgets/widget.cc b/client/widgets/widget.cc index e5ec498..1518231 100644 --- a/client/widgets/widget.cc +++ b/client/widgets/widget.cc @@ -62,7 +62,7 @@ Widget::Widget(QDomNode &node, MacroWindow *macrowindow) */ has_lazy = elem.hasAttribute("name") && elem.hasAttribute("value"); lazy_value = elem.attribute("value", ""); - lazy_source = elem.attribute("prefilled", "pracro"); + lazy_source = elem.attribute("prefilled", "prefilled"); if((hasOnChangeEvent = elem.hasAttribute("onChange"))) { onChangeEventScript = elem.attribute("onChange"); @@ -111,12 +111,12 @@ bool Widget::local() return widget_local; } -bool Widget::valid() +bool Widget::valid(bool deep) { if(preValid() == false) return false; if(is_valid == false) return false; - if(hideChildren) return true; + if(hideChildren && deep == false) return true; QVector< Widget* >::iterator i = children.begin(); while(i != children.end()) { @@ -217,6 +217,7 @@ void Widget::addChild(Widget *widget) } children.push_back(widget); connect(widget, SIGNAL(wasChanged()), this, SLOT(childWasChanged())); + //widget->setParent(this); } void Widget::addChildren(QDomNode &node, QLayout *layout) diff --git a/client/widgets/widget.h b/client/widgets/widget.h index ef22c18..3315c2e 100644 --- a/client/widgets/widget.h +++ b/client/widgets/widget.h @@ -52,7 +52,8 @@ public: virtual QString value() = 0; virtual void setValue(QString value, QString source) = 0; - bool valid(); + // Set deep to true to validate inner widgets. + bool valid(bool deep = false); void setValid(bool valid); // Implement in subclasses to contribute to the validation. @@ -69,16 +70,9 @@ public: virtual bool setKeyboardFocus(); - /* - void setInitialValue(QString value); - bool hasInitialValue(); - virtual void reset(); - */ - QWidget *qwidget() { return widget; } - // Set deep to true to find widgets inside altcombobox, multilist and - // metawidgets. + // Set deep to true to search through inner widgets. Widget *findWidget(QString name, bool deep = false); QVector< Widget* > widgetList(bool deep = false); void addChild(Widget *widget); @@ -120,14 +114,6 @@ private: bool hasOnChangeEvent; QString onChangeEventScript; - - /* - QString initial_value; - QString initial_source; - bool has_initial_value; - QString prefilled; - */ - }; #endif/*__PRACRO_WIDGET_H__*/ -- cgit v1.2.3