//----------------------------------------------------------------------------// LayoutContainer::LayoutContainer(const String& type, const String& name): Window(type, name), d_needsLayouting(false) { // layout should take the whole window by default I think setSize(UVector2(cegui_reldim(1), cegui_reldim(1))); subscribeEvent(Window::EventChildAdded, Event::Subscriber(&LayoutContainer::handleChildAdded, this)); subscribeEvent(Window::EventChildRemoved, Event::Subscriber(&LayoutContainer::handleChildRemoved, this)); }
//----------------------------------------------------------------------------// LayoutContainer::LayoutContainer(const String& type, const String& name): Window(type, name), d_needsLayouting(false), d_clientChildContentArea(this, static_cast<Element::CachedRectf::DataGenerator>(&LayoutContainer::getClientChildContentArea_impl)) { // layout should take the whole window by default I think setSize(USize(cegui_reldim(1), cegui_reldim(1))); subscribeEvent(Window::EventChildAdded, Event::Subscriber(&LayoutContainer::handleChildAdded, this)); subscribeEvent(Window::EventChildRemoved, Event::Subscriber(&LayoutContainer::handleChildRemoved, this)); }
// executing in separate thread void MessageChannel::processMessages() { logger.logInfo( String( "processMessages: channel is opened" ) ); while( true ) { // get next message Message *message = messages -> getNextMessage(); if( message == NULL ) { // exit if channel should be stopped if( stopping ) break; // ignore wakeup continue; } // log logger.logInfo( String( "processMessages: message extracted, msgid=" ) + message -> getChannelMessageId() ); // pass message subscribeEvent( message ); delete message; } opened = false; logger.logInfo( "processMessages: closed channel" ); }
Window *DFMenuItem::getItem(const string &parentId) { auto button = DFMenuBase::getItem(parentId); button->subscribeEvent(PushButton::EventClicked, subscriber); return button; }
Window *DFMenuRoot::getItem(const string &parentId) { auto button = DFMenuBase::getItem(parentId); button->subscribeEvent(PushButton::EventClicked, SubscriberSlot(&DFMenuRoot::onClick, this)); createLayout(); return button; }
String MessageChannel::publish( MessageSession *p_session , Message *msg ) { ASSERTMSG( opened , "cannot publish to i/o channel name=" + name + " - not open" ); String id = getNewMessageId(); msg -> setChannelMessageId( id ); msg -> setSession( p_session ); if( sync ) { subscribeEvent( msg ); delete msg; } else messages -> addMessage( msg ); return( id ); }
void Button::create (int creationType, AppObject *parent) { if (creationType == AT_RENDER) { #ifdef defAPI_CEGUI wWindow = CEGUI::WindowManager::getSingletonPtr ()->createWindow ("TaharezLook/Button", name); wWindow->setMinSize (CEGUI::UVector2 (CEGUI::UDim (size.x, 0), CEGUI::UDim (size.y, 0))); wWindow->setMaxSize (CEGUI::UVector2 (CEGUI::UDim (size.x, 0), CEGUI::UDim (size.y, 0))); wWindow->setUserData (this); subscribeEvent (defGUIFUNC_TYPE_MOUSE_CLICK); #endif } if (creationType == AT_NATIVE) { #ifdef defAPI_WXWIDGETS Ogre::Vector2 v2dPos = getPixelSizeFromSize (position); Ogre::Vector2 v2dSize = getPixelSizeFromSize (size); RXWindow *wwParent = 0; if (parent != 0) { wwParent = (RXWindow *)parent->getNativeWindow (); Ogre::Vector2 v2dParentSize (wwParent->GetSize ().x, wwParent->GetSize ().y); v2dPos = getPixelSizeFromSize (v2dParentSize, position); v2dSize = getPixelSizeFromSize (v2dParentSize, size); } rwWindow = new RXButton ((wxWindow *)wwParent, -1, wxT (text.c_str ()), wxPoint (v2dPos.x, v2dPos.y), wxSize (v2dSize.x, v2dSize.y)); rwWindow->Show (bVisible); rwWindow->SetClientData (this); #endif } setCreationType (creationType); setParent (parent); setVisible (bVisible); setPosition (position.x, position.y); setSize (size.x, size.y); setText (text); }
void FalagardChatHistory::subscribInfoItemMoveOutEvent(Event::Subscriber subscriber) { subscribeEvent(EventInfoElementMoveOut, subscriber); }
void FalagardChatHistory::subscribInfoItemDeleteEvent(Event::Subscriber subscriber) { subscribeEvent(EventInfoElementDelete, subscriber); }
void FalagardChatHistory::subscribInfoItemClickEvent(Event::Subscriber subscriber) { subscribeEvent(EventInfoElementClick, subscriber); }
void FalagardActionButton::subscribeMouseLeaveEvent(Event::Subscriber subscriber) { subscribeEvent(EventMouseLeaves, subscriber); }
void FalagardActionButton::subscribeDragDropStartedEvent(Event::Subscriber subscriber) { subscribeEvent(EventDragStarted, subscriber); }