1 /*---------------------------------------------------------------------\
3 | __ __ ____ _____ ____ |
4 | \ \ / /_ _/ ___|_ _|___ \ |
5 | \ V / _` \___ \ | | __) | |
6 | | | (_| |___) || | / __/ |
7 | |_|\__,_|____/ |_| |_____| |
11 \----------------------------------------------------------------------/
13 File: YWebOptionalWidgetFactory.h
15 Author: Stanislav Visnovsky <visnov@suse.cz>
19 #ifndef YWebOptionalWidgetFactory_h
20 #define YWebOptionalWidgetFactory_h
25 #include <yui/YOptionalWidgetFactory.h>
32 class YDownloadProgress;
34 class YDummySpecialWidget;
35 class YMultiProgressMeter;
36 class YPartitionSplitter;
44 * Abstract widget factory for optional ("special") widgets.
46 * Remember to always check with the corresponding "has..()" method if the
47 * current UI actually provides the requested widget. Otherwise the
48 * "create...()" method will throw an exception.
50 class YWebOptionalWidgetFactory: public YOptionalWidgetFactory
58 virtual bool hasWizard();
59 YWizard * createWizard ( YWidget * parent,
60 const string & backButtonLabel,
61 const string & abortButtonLabel,
62 const string & nextButtonLabel,
63 YWizardMode wizardMode = YWizardMode_Standard );
65 virtual YWizard * createWizard ( YWidget * parent,
66 YWidgetID * backButtonId, const string & backButtonLabel,
67 YWidgetID * abortButtonId, const string & abortButtonLabel,
68 YWidgetID * nextButtonId, const string & nextButtonLabel,
69 YWizardMode wizardMode = YWizardMode_Standard );
71 virtual bool hasDumbTab();
72 virtual YDumbTab * createDumbTab ( YWidget * parent );
74 virtual bool hasSlider();
75 virtual YSlider * createSlider ( YWidget * parent,
81 virtual bool hasDateField();
82 virtual YDateField * createDateField ( YWidget * parent, const string & label );
84 virtual bool hasTimeField();
85 virtual YTimeField * createTimeField ( YWidget * parent, const string & label );
87 virtual bool hasBarGraph();
88 virtual YBarGraph * createBarGraph ( YWidget * parent, const vector<int> & values, const vector<string> & labels );
90 virtual bool hasPatternSelector();
91 virtual YWidget * createPatternSelector ( YWidget * parent, long modeFlags = 0 );
93 virtual bool hasSimplePatchSelector();
94 virtual YWidget * createSimplePatchSelector( YWidget * parent, long modeFlags = 0 );
96 virtual bool hasMultiProgressMeter();
97 YMultiProgressMeter * createHMultiProgressMeter( YWidget * parent, const vector<float> & maxValues );
98 YMultiProgressMeter * createVMultiProgressMeter( YWidget * parent, const vector<float> & maxValues );
99 virtual YMultiProgressMeter * createMultiProgressMeter ( YWidget * parent, YUIDimension dim, const vector<float> & maxValues );
101 virtual bool hasPartitionSplitter();
102 virtual YPartitionSplitter * createPartitionSplitter ( YWidget * parent );
104 virtual bool hasDownloadProgress();
105 virtual YDownloadProgress * createDownloadProgress ( YWidget * parent,
106 const string & label,
107 const string & filename,
108 long expectedFileSize );
110 bool hasDummySpecialWidget();
111 YWidget * createDummySpecialWidget( YWidget * parent );
122 * Use YUI::optionalWidgetFactory() to get the singleton for this class.
124 YWebOptionalWidgetFactory();
129 virtual ~YWebOptionalWidgetFactory();
131 }; // class YWebOptionalWidgetFactory
135 #endif // YOptionalWidgetFactory_h