/** * This just creates a default window. */ Window::Window(int existingWindowId) throw (WindowException) : AddonCallback("Window"), window(NULL), iWindowId(-1), iOldWindowId(0), iCurrentControlId(3000), bModal(false), m_actionEvent(true), canPulse(false), existingWindow(true), destroyAfterDeInit(false) { TRACE; CSingleLock lock(g_graphicsContext); if (existingWindowId == -1) { // in this case just do the other constructor. canPulse = true; existingWindow = false; setWindow(new Interceptor<CGUIWindow>("CGUIWindow",this,getNextAvailalbeWindowId())); } else { // user specified window id, use this one if it exists // It is not possible to capture key presses or button presses CGUIWindow* pWindow = g_windowManager.GetWindow(existingWindowId); if (!pWindow) throw WindowException("Window id does not exist"); setWindow(new ProxyExistingWindowInterceptor(pWindow)); } }
WindowDialog::WindowDialog() throw(WindowException) : Window(true), WindowDialogMixin(this) { CSingleLock lock(g_graphicsContext); setWindow(new Interceptor<CGUIWindow>("CGUIWindow",this,getNextAvailalbeWindowId())); }