コード例 #1
0
//----------------------------------------------------------------------------//
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));
}
コード例 #2
0
//----------------------------------------------------------------------------//
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));
}
コード例 #3
0
// 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" );
}
コード例 #4
0
ファイル: DFMenu.cpp プロジェクト: Falconne/stonesense
Window *DFMenuItem::getItem(const string &parentId)
{
    auto button = DFMenuBase::getItem(parentId);
    button->subscribeEvent(PushButton::EventClicked, subscriber);

    return button;
}
コード例 #5
0
ファイル: DFMenu.cpp プロジェクト: Falconne/stonesense
Window *DFMenuRoot::getItem(const string &parentId)
{
    auto button = DFMenuBase::getItem(parentId);
    button->subscribeEvent(PushButton::EventClicked, SubscriberSlot(&DFMenuRoot::onClick, this));
    createLayout();
    
    return button;
}
コード例 #6
0
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 );
}
コード例 #7
0
ファイル: RadXmlButton.cpp プロジェクト: qeensh/RadXML
	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);
	}
コード例 #8
0
ファイル: FalChatHistory.cpp プロジェクト: gitrider/wxsj2
	void FalagardChatHistory::subscribInfoItemMoveOutEvent(Event::Subscriber subscriber)
	{
		subscribeEvent(EventInfoElementMoveOut, subscriber);
	}
コード例 #9
0
ファイル: FalChatHistory.cpp プロジェクト: gitrider/wxsj2
	void FalagardChatHistory::subscribInfoItemDeleteEvent(Event::Subscriber subscriber)
	{
		subscribeEvent(EventInfoElementDelete, subscriber);
	}
コード例 #10
0
ファイル: FalChatHistory.cpp プロジェクト: gitrider/wxsj2
	void FalagardChatHistory::subscribInfoItemClickEvent(Event::Subscriber subscriber)
	{
		subscribeEvent(EventInfoElementClick, subscriber);
	}
コード例 #11
0
void FalagardActionButton::subscribeMouseLeaveEvent(Event::Subscriber subscriber)
{

    subscribeEvent(EventMouseLeaves, subscriber);
}
コード例 #12
0
void FalagardActionButton::subscribeDragDropStartedEvent(Event::Subscriber subscriber)
{
    subscribeEvent(EventDragStarted, subscriber);
}