25 #include "YQOptionalWidgetFactory.h"
26 #include "YQApplication.h"
27 #include <yui/YUIException.h>
28 #include "YQPackageSelectorPluginStub.h"
30 #include "YQTimezoneSelector.h"
31 #include "YQGraphPluginStub.h"
33 #define THROW_UNSUPPORTED( WIDGET_TYPE ) \
34 YUI_THROW( YUIUnsupportedWidgetException( WIDGET_TYPE ) ); \
40 : YOptionalWidgetFactory()
52 bool YQOptionalWidgetFactory::hasWizard()
58 YQOptionalWidgetFactory::createWizard( YWidget * parent,
59 const std::string & backButtonLabel,
60 const std::string & abortButtonLabel,
61 const std::string & nextButtonLabel,
62 YWizardMode wizardMode )
69 YUI_CHECK_NEW( wizard );
76 bool YQOptionalWidgetFactory::hasDumbTab()
82 YQOptionalWidgetFactory::createDumbTab( YWidget * parent )
85 YUI_CHECK_NEW( dumbTab );
92 bool YQOptionalWidgetFactory::hasSlider()
98 YQOptionalWidgetFactory::createSlider( YWidget * parent,
99 const std::string & label,
104 YQSlider * slider =
new YQSlider( parent, label, minVal, maxVal, initialVal );
105 YUI_CHECK_NEW( slider );
112 bool YQOptionalWidgetFactory::hasDateField()
118 YQOptionalWidgetFactory::createDateField( YWidget * parent,
const std::string & label )
121 YUI_CHECK_NEW( dateField );
128 bool YQOptionalWidgetFactory::hasTimeField()
134 YQOptionalWidgetFactory::createTimeField( YWidget * parent,
const std::string & label )
137 YUI_CHECK_NEW( timeField );
144 bool YQOptionalWidgetFactory::hasBarGraph()
150 YQOptionalWidgetFactory::createBarGraph( YWidget * parent )
153 YUI_CHECK_NEW( barGraph );
160 bool YQOptionalWidgetFactory::hasPatternSelector()
168 bool YQOptionalWidgetFactory::hasSimplePatchSelector()
174 bool YQOptionalWidgetFactory::hasMultiProgressMeter()
180 YQOptionalWidgetFactory::createMultiProgressMeter( YWidget * parent, YUIDimension dim,
const vector<float> & maxValues )
183 YUI_CHECK_NEW( multiProgressMeter );
185 return multiProgressMeter;
190 bool YQOptionalWidgetFactory::hasPartitionSplitter()
196 YQOptionalWidgetFactory::createPartitionSplitter( YWidget * parent,
202 const std::string & usedLabel,
203 const std::string & freeLabel,
204 const std::string & newPartLabel,
205 const std::string & freeFieldLabel,
206 const std::string & newPartFieldLabel )
219 YUI_CHECK_NEW( partitionSplitter );
221 return partitionSplitter;
226 bool YQOptionalWidgetFactory::hasDownloadProgress()
232 YQOptionalWidgetFactory::createDownloadProgress( YWidget * parent,
233 const std::string & label,
234 const std::string & filename,
235 YFileSize_t expectedSize )
241 YUI_CHECK_NEW( downloadProgress );
243 return downloadProgress;
246 bool YQOptionalWidgetFactory::hasTimezoneSelector()
253 YQOptionalWidgetFactory::createTimezoneSelector( YWidget * parent,
254 const std::string & pixmap,
255 const map<string,string> & timezones )
261 bool YQOptionalWidgetFactory::hasGraph()
265 return plugin != NULL && plugin->impl != NULL;
270 YQOptionalWidgetFactory::createGraph( YWidget * parent,
const std::string & filename,
271 const std::string & layoutAlgorithm )
276 return plugin->
createGraph( parent, filename, layoutAlgorithm );
283 YQOptionalWidgetFactory::createGraph( YWidget * parent,
void * graph )
295 YQOptionalWidgetFactory::createPatternSelector(YWidget* parent,
long modeFlags)
306 YQOptionalWidgetFactory::createSimplePatchSelector(YWidget* parent,
long modeFlags)
316 bool YQOptionalWidgetFactory::hasContextMenu()
virtual YGraph * createGraph(YWidget *parent, const std::string &filename, const std::string &layoutAlgorithm)
Create a package selector.
virtual YWidget * createSimplePatchSelector(YWidget *parent, long modeFlags)
Create a simple patch selector (optional widget).
static YQGraphPluginStub * graphPlugin()
Return the package selector plugin singleton or creates it (including loading the plugin lib) if it d...
virtual YWidget * createPatternSelector(YWidget *parent, long modeFlags)
Create a pattern selector (optional widget).
static YQPackageSelectorPluginStub * packageSelectorPlugin()
Return the package selector plugin singleton or creates it (including loading the plugin lib) if it d...