Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
451
Src/Wasabi/api/skin/widgets.cpp
Normal file
451
Src/Wasabi/api/skin/widgets.cpp
Normal file
|
@ -0,0 +1,451 @@
|
|||
#include <precomp.h>
|
||||
#include <api/skin/widgets.h>
|
||||
|
||||
#include <api/skin/widgets/group.h>
|
||||
|
||||
#ifdef WASABI_WIDGETS_LAYER
|
||||
#include <api/skin/widgets/layer.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_ANIMLAYER
|
||||
#include <api/skin/widgets/animlayer.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_BUTTON
|
||||
#include <api/skin/widgets/button.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_TGBUTTON
|
||||
#include <api/skin/widgets/tgbutton.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_GUIOBJECT
|
||||
#include <api/script/objects/guiobj.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_GROUPLIST
|
||||
#include <api/skin/widgets/grouplist.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_MOUSEREDIR
|
||||
#include <api/skin/widgets/mouseredir.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_SLIDER
|
||||
#include <api/skin/widgets/pslider.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_MEDIASLIDERS
|
||||
#include <api/skin/widgets/seqband.h>
|
||||
#include <api/skin/widgets/seqpreamp.h>
|
||||
#include <api/skin/widgets/svolbar.h>
|
||||
#include <api/skin/widgets/sseeker.h>
|
||||
#include <api/skin/widgets/spanbar.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_MEDIAVIS
|
||||
#include <api/skin/widgets/sa.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_MEDIAEQCURVE
|
||||
#include <api/skin/widgets/seqvis.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_MEDIASTATUS
|
||||
#include <api/skin/widgets/sstatus.h>
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <api/skin/widgets/wa2/xuiwa2slider.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_SVCWND
|
||||
#include <api/skin/widgets/script/svcwnd.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_TEXT
|
||||
#include <api/skin/widgets/text.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_EDIT
|
||||
#include <api/skin/widgets/edit.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_TITLEBAR
|
||||
#include <api/skin/widgets/title.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_COMPBUCK
|
||||
#include <api/skin/widgets/compbuck2.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_BROWSER
|
||||
#include <api/skin/widgets/mb/xuibrowser.h>
|
||||
#ifdef WASABI_WIDGETS_BROWSERSVC
|
||||
#include <api/skin/widgets/mb/iebrowser.h>
|
||||
#include <api/skin/widgets/mb/mbsvc.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_FRAME
|
||||
#include <api/skin/widgets/xuiframe.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_GRID
|
||||
#include <api/skin/widgets/xuigrid.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_QUERYDRAG
|
||||
#include <api/skin/widgets/xuiquerydrag.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_QUERYLIST
|
||||
#include <api/skin/widgets/db/xuiquerylist.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_FILTERLIST
|
||||
#include <api/skin/widgets/db/xuifilterlist.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_QUERYLINE
|
||||
#include <api/skin/widgets/db/xuiqueryline.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_WNDHOLDER
|
||||
#include <api/skin/widgets/xuiwndholder.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_COMPILE_WNDMGR
|
||||
|
||||
#ifdef WASABI_WIDGETS_LAYOUTSTATUS
|
||||
#include <api/skin/widgets/xuistatus.h>
|
||||
#endif
|
||||
|
||||
#endif // wndmgr
|
||||
|
||||
#ifdef WASABI_WIDGETS_TABSHEET
|
||||
#include <api/skin/widgets/xuitabsheet.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_CHECKBOX
|
||||
#include <api/skin/widgets/xuicheckbox.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_TITLEBOX
|
||||
#include <api/skin/widgets/xuititlebox.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_CUSTOMOBJECT
|
||||
#include <api/skin/widgets/xuicustomobject.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_OSWNDHOST
|
||||
#include <api/skin/widgets/xuioswndhost.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_RADIOGROUP
|
||||
#include <api/skin/widgets/xuiradiogroup.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_TOOLOBJECT_HIDEOBJECT
|
||||
#include <api/skin/widgets/xuihideobject.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_TOOLOBJECT_SENDPARAMS
|
||||
#include <api/skin/widgets/xuisendparams.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_TOOLOBJECT_ADDPARAMS
|
||||
#include <api/skin/widgets/xuiaddparams.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_LIST
|
||||
#include <api/skin/widgets/xuilist.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_TREE
|
||||
#include <api/skin/widgets/xuitree.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_DROPDOWNLIST
|
||||
#include <api/skin/widgets/xuidropdownlist.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_COMBOBOX
|
||||
#include <api/skin/widgets/xuicombobox.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_HISTORYEDITBOX
|
||||
#include <api/skin/widgets/xuihistoryedit.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_OBJECTDIRECTORY
|
||||
#include <api/skin/widgets/xuiobjdirwnd.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_RECTANGLE
|
||||
#include <api/skin/widgets/xuirect.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_PATHPICKER
|
||||
#include <api/skin/widgets/xuipathpicker.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_GRADIENT
|
||||
#include <api/skin/widgets/xuigradientwnd.h>
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_MENU
|
||||
#include <api/skin/widgets/xuimenu.h>
|
||||
#endif
|
||||
|
||||
#include <api/skin/widgets/xuidownloadslist.h>
|
||||
|
||||
#ifdef WASABI_COMPILE_STATSWND
|
||||
#include <api/skin/widgets/stats/xuistats.h>
|
||||
#include <api/skin/widgets/stats/statswnd.h>
|
||||
#endif
|
||||
|
||||
extern StringW g_resourcepath;
|
||||
|
||||
Widgets::Widgets() {
|
||||
count = 0;
|
||||
|
||||
registerService(new XuiObjectCreator<GuiObjectXuiSvc>);
|
||||
|
||||
#ifdef WASABI_WIDGETS_LAYER
|
||||
registerService(new XuiObjectCreator<LayerXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_ANIMLAYER
|
||||
registerService(new XuiObjectCreator<AnimLayerXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_BUTTON
|
||||
registerService(new XuiObjectCreator<ButtonXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TGBUTTON
|
||||
registerService(new XuiObjectCreator<ToggleButtonXuiSvc>);
|
||||
registerService(new XuiObjectCreator<nStatesTgButtonXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_GROUPLIST
|
||||
registerService(new XuiObjectCreator<GroupListXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_MOUSEREDIR
|
||||
registerService(new XuiObjectCreator<MouseRedirXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_SLIDER
|
||||
registerService(new XuiObjectCreator<SliderXuiSvc>);
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
registerService(new XuiObjectCreator<Wa2SliderXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_MEDIASLIDERS
|
||||
registerService(new XuiObjectCreator<EqBandXuiSvc>);
|
||||
registerService(new XuiObjectCreator<EqPreAmpXuiSvc>);
|
||||
registerService(new XuiObjectCreator<VolBarXuiSvc>);
|
||||
registerService(new XuiObjectCreator<SeekBarXuiSvc>);
|
||||
registerService(new XuiObjectCreator<PanBarXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_MEDIAVIS
|
||||
registerService(new XuiObjectCreator<VisXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_MEDIAEQCURVE
|
||||
registerService(new XuiObjectCreator<EqVisXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_MEDIASTATUS
|
||||
registerService(new XuiObjectCreator<StatusXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_SVCWND
|
||||
registerService(new XuiObjectCreator<SvcWndXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TEXT
|
||||
registerService(new XuiObjectCreator<TextXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_EDIT
|
||||
registerService(new XuiObjectCreator<EditXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TITLEBAR
|
||||
registerService(new XuiObjectCreator<TitleBarXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_COMPBUCK
|
||||
registerService(new XuiObjectCreator<ComponentBucketXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_BROWSER
|
||||
registerService(new XuiObjectCreator<BrowserXuiSvc>);
|
||||
#ifdef WASABI_WIDGETS_BROWSERSVC
|
||||
registerService(new waServiceFactoryT<svc_miniBrowser, MbSvc>);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_FRAME
|
||||
registerService(new XuiObjectCreator<FrameXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_GRID
|
||||
registerService(new XuiObjectCreator<GridXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_QUERYDRAG
|
||||
registerService(new XuiObjectCreator<QueryDragXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_COMPILE_METADB
|
||||
#ifdef WASABI_WIDGETS_QUERYLIST
|
||||
registerService(new XuiObjectCreator<QueryListXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_FILTERLIST
|
||||
registerService(new XuiObjectCreator<FilterListXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_QUERYLINE
|
||||
registerService(new XuiObjectCreator<QueryLineXuiSvc>);
|
||||
#endif
|
||||
#endif // metadb
|
||||
#ifdef WASABI_WIDGETS_WNDHOLDER
|
||||
registerService(new XuiObjectCreator<WindowHolderXuiSvc>);
|
||||
registerService(new XuiObjectCreator<WindowHolderXuiSvc2>);
|
||||
#endif // components
|
||||
#ifdef WASABI_COMPILE_WNDMGR
|
||||
#ifdef WASABI_WIDGETS_LAYOUTSTATUS
|
||||
registerService(new XuiObjectCreator<LayoutStatusXuiSvc>);
|
||||
#endif
|
||||
#endif // wndmgr
|
||||
#ifdef WASABI_WIDGETS_TABSHEET
|
||||
registerService(new XuiObjectCreator<ScriptTabSheetXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_CHECKBOX
|
||||
registerService(new XuiObjectCreator<ScriptCheckBoxXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TITLEBOX
|
||||
registerService(new XuiObjectCreator<ScriptTitleBoxXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_CUSTOMOBJECT
|
||||
registerService(new XuiObjectCreator<CustomObjectXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_OSWNDHOST
|
||||
registerService(new XuiObjectCreator<OSWndHostXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_RADIOGROUP
|
||||
registerService(new XuiObjectCreator<ScriptRadioGroupXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_TOOLOBJECT_HIDEOBJECT
|
||||
registerService(new XuiObjectCreator<HideObjectXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_TOOLOBJECT_SENDPARAMS
|
||||
registerService(new XuiObjectCreator<SendParamsXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_TOOLOBJECT_ADDPARAMS
|
||||
registerService(new XuiObjectCreator<AddParamsXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_LIST
|
||||
registerService(new XuiObjectCreator<ScriptListXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TREE
|
||||
registerService(new XuiObjectCreator<ScriptTreeXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_DROPDOWNLIST
|
||||
registerService(new XuiObjectCreator<DropDownListXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_COMBOBOX
|
||||
registerService(new XuiObjectCreator<ComboBoxXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_HISTORYEDITBOX
|
||||
registerService(new XuiObjectCreator<HistoryEditXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_OBJECTDIRECTORY
|
||||
registerService(new XuiObjectCreator<ScriptObjDirWndXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_RECTANGLE
|
||||
registerService(new XuiObjectCreator<ScriptRectXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_PATHPICKER
|
||||
registerService(new XuiObjectCreator<PathPickerXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_GRADIENT
|
||||
registerService(new XuiObjectCreator<GradientWndXuiSvc>);
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_MENU
|
||||
registerService(new XuiObjectCreator<MenuXuiSvc>);
|
||||
#endif
|
||||
|
||||
//registerService(new XuiObjectCreator<DownloadsListXuiSvc>);
|
||||
|
||||
#ifdef WASABI_COMPILE_WNDMGR
|
||||
//registerSkinFile("xml/msgbox/msgbox.xml");
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_WIDGETS_TOOLTIPS
|
||||
//registerSkinFile("xml/tooltips/tooltips.xml");
|
||||
#endif
|
||||
|
||||
#ifdef WASABI_COMPILE_STATSWND
|
||||
registerService(new XuiObjectCreator<XuiStatsXuiSvc>);
|
||||
statswnd = new StatsWnd();
|
||||
#endif
|
||||
|
||||
//loadResources();
|
||||
WASABI_API_SYSCB->syscb_registerCallback(static_cast<SysCallbackI *>(this));
|
||||
}
|
||||
|
||||
Widgets::~Widgets() {
|
||||
#ifdef WASABI_COMPILE_STATSWND
|
||||
delete statswnd;
|
||||
#endif
|
||||
WASABI_API_SYSCB->syscb_deregisterCallback(static_cast<SysCallbackI *>(this));
|
||||
if (WASABI_API_SVC != NULL)
|
||||
{
|
||||
int i=factories.getNumItems();
|
||||
while (i--)
|
||||
WASABI_API_SVC->service_deregister(factories[i]);
|
||||
}
|
||||
factories.deleteAll();
|
||||
}
|
||||
|
||||
|
||||
void Widgets::registerService(waServiceFactoryI *f)
|
||||
{
|
||||
WASABI_API_SVC->service_register(f);
|
||||
factories.addItem(f);
|
||||
}
|
||||
|
||||
int Widgets::skincb_onBeforeLoadingElements() {
|
||||
if (count++ > 0) // if 0, we're already loaded so that the lib is usable without 'a skin'
|
||||
loadResources();
|
||||
return 1;
|
||||
}
|
||||
|
||||
void Widgets::loadResources()
|
||||
{
|
||||
// TODO: benski> want to put this into gen_ff somewhere, instead.
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\winamp\\cover\\cover.xml"));
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\winamp\\thinger\\thinger.xml"));
|
||||
|
||||
#ifndef WA3COMPATIBILITY // ifNdef
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\wasabi\\wasabi.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_PATHPICKER
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\pathpicker\\pathpicker.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_LAYOUTSTATUS
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\statusbar\\statusbar.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TABSHEET
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\tabsheet\\tabsheet.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_CHECKBOX
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\checkbox\\checkbox.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TITLEBOX
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\titlebox\\titlebox.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_DROPDOWNLIST
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\dropdownlist\\dropdownlist.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_COMBOBOX
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\combobox\\combobox.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_HISTORYEDITBOX
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\historyeditbox\\historyeditbox.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_WIDGETS_TOOLTIPS
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\tooltips\\tooltips.xml"));
|
||||
#endif
|
||||
#ifdef WASABI_COMPILE_WNDMGR
|
||||
//WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,"xml\\msgbox\\msgbox.xml"));
|
||||
#endif
|
||||
WASABI_API_SKIN->loadSkinFile(StringPathCombine(g_resourcepath,L"xml\\about\\about.xml"));
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue