aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/skin/widgets/xuipathpicker.h
blob: 05ca69b08d4e655621d2925cfcd32e14bde2a767 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef __XUIPATHPICKER_H
#define __XUIPATHPICKER_H

#include <api/skin/widgets/pathpicker.h>
#include <api/script/objcontroller.h>

#define SCRIPTPATHPICKER_PARENT PathPicker

// -----------------------------------------------------------------------
// Your wnd object class

class ScriptPathPicker: public SCRIPTPATHPICKER_PARENT {
  
  public:

    ScriptPathPicker();
    virtual ~ScriptPathPicker();

  private:
};

// -----------------------------------------------------------------------
class PathPickerScriptController: public ScriptObjectControllerI {
public:
  virtual const wchar_t *getClassName() { return L"PathPicker"; }
  virtual const wchar_t *getAncestorClassName() { return L"GuiObject"; }
  virtual ScriptObjectController *getAncestorController() { return WASABI_API_MAKI->maki_getController(guiObjectGuid); }
  virtual int getNumFunctions();
  virtual const function_descriptor_struct *getExportedFunctions();
  virtual GUID getClassGuid() { return pathPickerGuid; }
  virtual ScriptObject *instantiate();
  virtual void destroy(ScriptObject *o);
  virtual void *encapsulate(ScriptObject *o);
  virtual void deencapsulate(void *o);

private:

  static function_descriptor_struct exportedFunction[];
  static scriptVar PathPicker_getPath(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
  static scriptVar PathPicker_onPathChanged(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar newpath);
};

extern PathPickerScriptController *pathPickerController;


// -----------------------------------------------------------------------
// This defines the svc_xuiObject that exposes your wnd object

extern const wchar_t PathPickerXuiObjectStr[];
extern char PathPickerXuiSvcName[];
class PathPickerXuiSvc : public XuiObjectSvc<ScriptPathPicker, PathPickerXuiObjectStr, PathPickerXuiSvcName> {};

#endif