11 #include "AddonCallback.h" 12 #include "AddonString.h" 14 #include "swighelper.h" 26 class InterceptorBase;
49 explicit Action(
const CAction& caction) { setFromCAction(caction); }
51 void setFromCAction(
const CAction& caction);
54 float fAmount1 = 0.0f;
55 float fAmount2 = 0.0f;
57 unsigned long buttonCode = 0;
58 std::string strAction;
64 #ifdef DOXYGEN_SHOULD_USE_THIS 91 long getId() { XBMC_TRACE;
return id; }
94 #ifdef DOXYGEN_SHOULD_USE_THIS 104 long getButtonCode() { XBMC_TRACE;
return buttonCode; }
107 #ifdef DOXYGEN_SHOULD_USE_THIS 117 float getAmount1() { XBMC_TRACE;
return fAmount1; }
120 #ifdef DOXYGEN_SHOULD_USE_THIS 130 float getAmount2() { XBMC_TRACE;
return fAmount2; }
189 bool isDisposed =
false;
191 void doAddControl(
Control* pControl, CCriticalSection* gcontext,
bool wait);
192 void doRemoveControl(
Control* pControl, CCriticalSection* gcontext,
bool wait);
199 std::vector<AddonClass::Ref<Control> > vecControls;
200 int iOldWindowId = 0;
201 int iCurrentControlId = 3000;
205 bool canPulse =
false;
208 bool existingWindow =
true;
209 bool destroyAfterDeInit =
false;
217 explicit Window(
bool discrim);
225 static int getNextAvailableWindowId();
238 void popActiveWindowId();
244 Control* GetControlById(
int iControlId, CCriticalSection* gc);
246 SWIGHIDDENVIRTUAL
void PulseActionEvent();
247 SWIGHIDDENVIRTUAL
bool WaitForActionEvent(
unsigned int milliseconds);
251 explicit Window(
int existingWindowId = -1);
256 SWIGHIDDENVIRTUAL
bool OnMessage(
CGUIMessage& message);
257 SWIGHIDDENVIRTUAL
bool OnAction(
const CAction &action);
258 SWIGHIDDENVIRTUAL
bool OnBack(
int actionId);
259 SWIGHIDDENVIRTUAL
void OnDeinitWindow(
int nextWindowID);
261 SWIGHIDDENVIRTUAL
bool IsDialogRunning()
const 266 SWIGHIDDENVIRTUAL
bool IsDialog()
const 271 SWIGHIDDENVIRTUAL
bool IsModalDialog()
const 276 SWIGHIDDENVIRTUAL
bool IsMediaWindow()
const 281 SWIGHIDDENVIRTUAL
void dispose();
289 std::unique_lock<CCriticalSection> lock(*
this);
315 #ifdef DOXYGEN_SHOULD_USE_THIS 358 virtual void onAction(
Action* action);
362 #ifdef DOXYGEN_SHOULD_USE_THIS 388 virtual void onControl(
Control* control);
391 #ifdef DOXYGEN_SHOULD_USE_THIS 419 virtual void onClick(
int controlId);
422 #ifdef DOXYGEN_SHOULD_USE_THIS 450 virtual void onDoubleClick(
int controlId);
453 #ifdef DOXYGEN_SHOULD_USE_THIS 480 virtual void onFocus(
int controlId);
483 #ifdef DOXYGEN_SHOULD_USE_THIS 507 virtual void onInit();
511 #ifdef DOXYGEN_SHOULD_USE_THIS 526 SWIGHIDDENVIRTUAL
void show();
529 #ifdef DOXYGEN_SHOULD_USE_THIS 543 SWIGHIDDENVIRTUAL
void setFocus(
Control* pControl);
546 #ifdef DOXYGEN_SHOULD_USE_THIS 558 SWIGHIDDENVIRTUAL
void setFocusId(
int iControlId);
561 #ifdef DOXYGEN_SHOULD_USE_THIS 573 SWIGHIDDENVIRTUAL
Control* getFocus();
576 #ifdef DOXYGEN_SHOULD_USE_THIS 588 SWIGHIDDENVIRTUAL
long getFocusId();
591 #ifdef DOXYGEN_SHOULD_USE_THIS 606 SWIGHIDDENVIRTUAL
void removeControl(
Control* pControl);
609 #ifdef DOXYGEN_SHOULD_USE_THIS 625 SWIGHIDDENVIRTUAL
void removeControls(std::vector<Control*> pControls);
628 #ifdef DOXYGEN_SHOULD_USE_THIS 641 SWIGHIDDENVIRTUAL
long getHeight();
644 #ifdef DOXYGEN_SHOULD_USE_THIS 657 SWIGHIDDENVIRTUAL
long getWidth();
660 #ifdef DOXYGEN_SHOULD_USE_THIS 689 SWIGHIDDENVIRTUAL
void setProperty(
const char* key,
const String& value);
692 #ifdef DOXYGEN_SHOULD_USE_THIS 719 SWIGHIDDENVIRTUAL String getProperty(
const char* key);
722 #ifdef DOXYGEN_SHOULD_USE_THIS 749 SWIGHIDDENVIRTUAL
void clearProperty(
const char* key);
752 #ifdef DOXYGEN_SHOULD_USE_THIS 771 SWIGHIDDENVIRTUAL
void clearProperties();
774 #ifdef DOXYGEN_SHOULD_USE_THIS 786 SWIGHIDDENVIRTUAL
void close();
789 #ifdef DOXYGEN_SHOULD_USE_THIS 798 SWIGHIDDENVIRTUAL
void doModal();
801 #ifdef DOXYGEN_SHOULD_USE_THIS 834 SWIGHIDDENVIRTUAL
void addControl(
Control* pControl);
837 #ifdef DOXYGEN_SHOULD_USE_THIS 853 SWIGHIDDENVIRTUAL
void addControls(std::vector<Control*> pControls);
856 #ifdef DOXYGEN_SHOULD_USE_THIS 873 SWIGHIDDENVIRTUAL
Control* getControl(
int iControlId);
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: WindowDialogMixin.h:23
This class is a smart pointer for a Referenced class.
Definition: AddonClass.h:154
void interceptorClear()
This is called from the InterceptorBase destructor to prevent further use of the interceptor from the...
Definition: Window.h:287
These two classes are closely associated with the Interceptor template below.
Definition: WindowInterceptor.h:27
class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:22
Defining LOG_LIFECYCLE_EVENTS will log all instantiations, deletions and also reference countings (in...
Definition: Addon.cpp:25
virtual void deallocating()
This method is meant to be called from the destructor of the lowest level class.
Definition: AddonClass.h:82
Definition: GUIMessage.h:365
This class is the superclass for all reference counted classes in the api.
Definition: AddonClass.h:57
This class is the superclass for all API classes that are expected to be able to handle cross-languag...
Definition: AddonCallback.h:23