]> icculus.org git repositories - duncan/yast2-web-wt.git/blob - src/YWebOptionalWidgetFactory.h
added all missing methods, web UI loads and fails
[duncan/yast2-web-wt.git] / src / YWebOptionalWidgetFactory.h
1 /*---------------------------------------------------------------------\
2 |                                                                      |
3 |                      __   __    ____ _____ ____                      |
4 |                      \ \ / /_ _/ ___|_   _|___ \                     |
5 |                       \ V / _` \___ \ | |   __) |                    |
6 |                        | | (_| |___) || |  / __/                     |
7 |                        |_|\__,_|____/ |_| |_____|                    |
8 |                                                                      |
9 |                               core system                            |
10 |                                                        (C) SuSE GmbH |
11 \----------------------------------------------------------------------/
12
13   File:         YWebOptionalWidgetFactory.h
14
15   Author:       Stanislav Visnovsky <visnov@suse.cz>
16
17 /-*/
18
19 #ifndef YWebOptionalWidgetFactory_h
20 #define YWebOptionalWidgetFactory_h
21
22 #include <string>
23 #include <vector>
24
25 #include <yui/YOptionalWidgetFactory.h>
26
27 using std::string;
28 using std::vector;
29
30 class YBarGraph;
31 class YDateField;
32 class YDownloadProgress;
33 class YDumbTab;
34 class YDummySpecialWidget;
35 class YMultiProgressMeter;
36 class YPartitionSplitter;
37 class YSlider;
38 class YTimeField;
39 class YWidget;
40 class YWizard;
41
42
43 /**
44  * Abstract widget factory for optional ("special") widgets.
45  *
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.
49  **/
50 class YWebOptionalWidgetFactory: public YOptionalWidgetFactory
51 {
52 public:
53
54     //
55     // Optional Widgets
56     //
57
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 );
64
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 );
70
71     virtual bool                        hasDumbTab();
72     virtual YDumbTab *                  createDumbTab           ( YWidget * parent );
73
74     virtual bool                        hasSlider();
75     virtual YSlider *                   createSlider            ( YWidget *             parent,
76                                                                   const string  &       label,
77                                                                   int                   minVal,
78                                                                   int                   maxVal,
79                                                                   int                   initialVal );
80
81     virtual bool                        hasDateField();
82     virtual YDateField *                createDateField         ( YWidget * parent, const string & label );
83
84     virtual bool                        hasTimeField();
85     virtual YTimeField *                createTimeField         ( YWidget * parent, const string & label );
86
87     virtual bool                        hasBarGraph();
88     virtual YBarGraph *                 createBarGraph          ( YWidget * parent, const vector<int> & values, const vector<string> & labels );
89
90     virtual bool                        hasPatternSelector();
91     virtual YWidget *                   createPatternSelector   ( YWidget * parent, long modeFlags = 0 );
92
93     virtual bool                        hasSimplePatchSelector();
94     virtual YWidget *                   createSimplePatchSelector( YWidget * parent, long modeFlags = 0 );
95
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 );
100
101     virtual bool                        hasPartitionSplitter();
102     virtual YPartitionSplitter *        createPartitionSplitter ( YWidget * parent );
103
104     virtual bool                        hasDownloadProgress();
105     virtual YDownloadProgress *         createDownloadProgress  ( YWidget *             parent,
106                                                                   const string &        label,
107                                                                   const string &        filename,
108                                                                   long                  expectedFileSize );
109
110     bool                                hasDummySpecialWidget();
111     YWidget *                           createDummySpecialWidget( YWidget * parent );
112
113
114
115 protected:
116
117     friend class YWebUI;
118
119     /**
120      * Constructor.
121      *
122      * Use YUI::optionalWidgetFactory() to get the singleton for this class.
123      **/
124     YWebOptionalWidgetFactory();
125
126     /**
127      * Destructor.
128      **/
129     virtual ~YWebOptionalWidgetFactory();
130
131 }; // class YWebOptionalWidgetFactory
132
133
134
135 #endif // YOptionalWidgetFactory_h