void MessageWidget::SelectedMenuMessagesSettings(QAction *pAction)
{
    if (pAction != NULL)
    {
        if (pAction->text().compare(Homer::Gui::MessageWidget::tr("Show window")) == 0)
        {
            ToggleVisibility();
            return;
        }
        if (pAction->text().compare(Homer::Gui::MessageWidget::tr("Close window")) == 0)
        {
            ToggleVisibility();
            return;
        }
        if (pAction->text().compare(Homer::Gui::MessageWidget::tr("Save history")) == 0)
        {
            mTbMessageHistory->Save();
            return;
        }
        if (pAction->text().compare(Homer::Gui::MessageWidget::tr("Add to contacts")) == 0)
        {
            LOG(LOG_VERBOSE, "Adding this participant to contacts");
            AddPArticipantToContacts();
            return;
        }
    }
}
CWidgetActiveTransfer::CWidgetActiveTransfer(wxWindow* pParent, BSLHOST hHost, BSLTRANSFER hTransfer) :
CWidgetBase(pParent, ID_WIDGETACTIVETRANSFER)
{
    CBSLClient* pState = wxGetApp().GetState();
    CBSLTransfer bslTransfer;

    m_pButtonBar = NULL;
    m_pButtonBarSizer = NULL;

    m_hHost = hHost;
    m_hTransfer = hTransfer;

    // Create Controls
    CreateControls(true, true, false);

    // Update control state.
    pState->GetTransfer(m_hTransfer, &bslTransfer);
    SetWidgetName(bslTransfer.GetName());
    UpdateControls(bslTransfer);
    UpdateControlsButtonBar(bslTransfer);
    ToggleVisibility(bslTransfer);

    // Give time for all the controls to figure out their layout and render
    // properly.
    wxCommandEvent evt(wxEVT_WIDGETACTIVETRANSFER_INIT);
    AddPendingEvent(evt);
}
示例#3
0
void FilePathPanel::SetAddToProject(bool add)
{
    cbProject* prj = Manager::Get()->GetProjectManager()->GetActiveProject();
    add = add && prj;
    chkAddToProject->SetValue(add);

    ToggleVisibility(add);
}
示例#4
0
void Pyx::Graphics::GraphicsContext::SetMainRenderer(Renderer::IRenderer* pRenderer)
{
    PYX_ASSERT_A(pRenderer != nullptr);
    m_pMainRenderer = pRenderer;
    PyxContext::GetInstance().Log(XorStringA("[Graphics] Using renderer : ") + std::string(pRenderer->GetRendererTypeString()));
	auto pGui = GuiContext::GetInstance().GetGui();
	if (pGui) pGui->ToggleVisibility(true);
}
void CWidgetActiveTransfer::OnTransferUpdate(CBSLTransferEvent& event)
{
    CBSLTransfer bslTransfer;
    event.GetTransfer(&bslTransfer);

    ToggleVisibility(bslTransfer);
    if (bslTransfer.IsTransferActive())
    {
        UpdateControlsButtonBar(bslTransfer);
        if (IsContentsShown())
        {
            UpdateControls(bslTransfer);
        }
    }
}
示例#6
0
void Pyx::Graphics::Gui::ImGuiImpl::OnFrame()
{
    if (m_isInitialized)
    {

        if (!m_isResourcesCreated)
            CreateResources();

        if (m_isResourcesCreated)
        {
            auto* pRenderer = GraphicsContext::GetInstance().GetMainRenderer();

            if (pRenderer)
            {

                auto& io = ImGui::GetIO();

                if (Input::InputContext::GetInstance().CursorIsVisible() && pRenderer->GetAttachedWindow() == GetForegroundWindow())
                {
                    auto cursorPos = Input::InputContext::GetInstance().GetCursorPosition();
                    ScreenToClient(pRenderer->GetAttachedWindow(), &cursorPos);
                    io.MousePos.x = cursorPos.x;
                    io.MousePos.y = cursorPos.y;
                    io.MouseDown[0] = GetAsyncKeyState(VK_LBUTTON) != 0;
                    io.MouseDown[1] = GetAsyncKeyState(VK_RBUTTON) != 0;
                    io.MouseDown[2] = GetAsyncKeyState(VK_MBUTTON) != 0;
                    io.KeyCtrl = GetAsyncKeyState(VK_CONTROL) != 0;
                    io.KeyShift = GetAsyncKeyState(VK_SHIFT) != 0;
                    io.KeyAlt = GetAsyncKeyState(VK_MENU) != 0;
                }

                switch (pRenderer->GetRendererType())
                {
                case RendererType::D3D9:
                {
                    ImGui_ImplDX9_NewFrame();
                    break;
                }
                case RendererType::D3D11:
                {
                    ImGui_ImplDX11_NewFrame();
                    break;
                }
                default:
                    return;
                }

				if (m_isVisible)
				{

					BuildMainMenuBar();

					if (m_showConsole)
						BuildLogsWindow();

					if (m_showDebugWindow)
						BuildDebugWindow();

					GetOnRenderCallbacks().Run(this);
					Scripting::ScriptingContext::GetInstance().FireCallbacks(XorStringW(L"ImGui.OnRender"));

					ImGui::Render();

				}

            }

			static int lastToggleVisibilityTick = 0;
			if (GetTickCount() - lastToggleVisibilityTick > 250)
			{

				bool shouldToggleGui = true;
				for (auto vKey : PyxContext::GetInstance().GetSettings().GuiToggleVisibilityHotkeys)
				{
					if (GetAsyncKeyState(vKey) == NULL)
					{
						shouldToggleGui = false;
						break;
					}
				}

				if (shouldToggleGui)
				{
					ToggleVisibility(!IsVisible());
					lastToggleVisibilityTick = GetTickCount();
				}

			}

            static int lastToggleConsoleVisibilityTick = 0;
            if (GetTickCount() - lastToggleConsoleVisibilityTick > 250)
            {

                bool shouldToggleConsole = true;
                for (auto vKey : PyxContext::GetInstance().GetSettings().ImGuiToggleConsoleHotkeys)
                {
                    if (GetAsyncKeyState(vKey) == NULL)
                    {
                        shouldToggleConsole = false;
                        break;
                    }
                }

                if (shouldToggleConsole)
                {
                    m_showConsole = !m_showConsole;
                    lastToggleConsoleVisibilityTick = GetTickCount();
                }

            }

        }

    }

}
void MessageWidget::Init(QMenu *pMenu, QString pParticipant, enum TransportType pParticipantTransport, bool pVisible)
{
    mParticipant = pParticipant;
    mParticipantTransport = pParticipantTransport;

    initializeGUI();

    mPbCall->SetPartner(mParticipant, mParticipantTransport);

    //####################################################################
    //### create the remaining necessary menu item and short cuts
    //####################################################################

    if (pMenu != NULL)
    {
        mAssignedAction = pMenu->addAction(pParticipant);
        mAssignedAction->setCheckable(true);
        mAssignedAction->setChecked(pVisible);
        QIcon tIcon;
        tIcon.addPixmap(QPixmap(":/images/22_22/Checked.png"), QIcon::Normal, QIcon::On);
        tIcon.addPixmap(QPixmap(":/images/22_22/Unchecked.png"), QIcon::Normal, QIcon::Off);
        mAssignedAction->setIcon(tIcon);
    }
    if (mAssignedAction != NULL)
        connect(mAssignedAction, SIGNAL(triggered()), this, SLOT(ToggleVisibility()));

    //####################################################################
    //### update GUI
    //####################################################################

    //TODO: remove the following if the feature is complete
    #ifdef RELEASE_VERSION
        mPbFile->setEnabled(false);
    #endif

    setWindowTitle(mParticipant);
    connect(mTeMessage, SIGNAL(SendTrigger()), this, SLOT(SendMessage()));
    connect(mPbFile, SIGNAL(released()), this, SLOT(SendFile()));
    connect(mPbAdd, SIGNAL(released()), this, SLOT(AddPArticipantToContacts()));
    if(IsKnownContact())
    {
        mPbAdd->hide();
    }else
    {
        mPbAdd->show();
    }
    if (pVisible)
    {
        show();
    }else
    {
        hide();
    }
    UpdateParticipantState(CONTACT_UNDEFINED_STATE);

    //### set focus setFocus
    mTeMessage->setFocus(Qt::TabFocusReason);

    // are we part of broadcast window?
    if (mParticipant == BROACAST_IDENTIFIER)
    {
        mPbAdd->hide();
        mPbCall->setEnabled(false);
    }
}
void MessageWidget::closeEvent(QCloseEvent *pEvent)
{
    ToggleVisibility();
}
示例#9
0
FilePathPanel::FilePathPanel(wxWindow* parent,wxWindowID id) :
    txtFilename(0),
    btnBrowse(0),
    lblGuard(0),
    txtGuard(0),
    chkAddToProject(0),
    clbTargets(0),
		btnAll(0),
		btnNone(0),
		m_ExtFilter(_T("")),
		m_Selection(-1)
{
	//(*Initialize(FilePathPanel)
	wxBoxSizer* BoxSizer1;
	wxStaticText* StaticText1;
	wxStaticText* StaticText2;
	wxStaticText* StaticText4;

	Create(parent,id,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL,_T("wxPanel"));
	BoxSizer1 = new wxBoxSizer(wxVERTICAL);
	StaticText1 = new wxStaticText(this,ID_STATICTEXT1,_("Please enter the file\'s location and name and\nwhether to add it to the active project."),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT1"));
	BoxSizer1->Add(StaticText1,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,8);
	StaticText2 = new wxStaticText(this,ID_STATICTEXT2,_("Filename with full path:"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT2"));
	BoxSizer1->Add(StaticText2,0,wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
	BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
	txtFilename = new wxTextCtrl(this,ID_TEXTCTRL1,_("Text"),wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_TEXTCTRL1"));
	BoxSizer2->Add(txtFilename,1,wxALL|wxALIGN_LEFT|wxALIGN_TOP,0);
	btnBrowse = new wxButton(this,ID_BUTTON1,_("..."),wxDefaultPosition,wxSize(22,22),0,wxDefaultValidator,_T("ID_BUTTON1"));
	BoxSizer2->Add(btnBrowse,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,0);
	BoxSizer1->Add(BoxSizer2,0,wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
	lblGuard = new wxStaticText(this,ID_STATICTEXT3,_("Header guard word:"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT3"));
	BoxSizer1->Add(lblGuard,0,wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
	txtGuard = new wxTextCtrl(this,ID_TEXTCTRL2,_("Text"),wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_TEXTCTRL2"));
	BoxSizer1->Add(txtGuard,0,wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
	BoxSizer1->Add(-1,-1,0,wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,0);
	chkAddToProject = new wxCheckBox(this,ID_CHECKBOX1,_("Add file to active project"),wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_CHECKBOX1"));
	chkAddToProject->SetValue(false);
	BoxSizer1->Add(chkAddToProject,0,wxTOP|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
	FlexGridSizer1 = new wxFlexGridSizer(0,2,0,0);
	FlexGridSizer1->AddGrowableCol(1);
	FlexGridSizer1->AddGrowableRow(1);
	FlexGridSizer1->Add(16,16,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,0);
	StaticText4 = new wxStaticText(this,ID_STATICTEXT4,_("In build target(s):"),wxDefaultPosition,wxDefaultSize,0,_T("ID_STATICTEXT4"));
	FlexGridSizer1->Add(StaticText4,0,wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,0);
	FlexGridSizer1->Add(16,16,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,0);
	clbTargets = new wxCheckListBox(this,ID_CHECKLISTBOX2,wxDefaultPosition,wxSize(222,111),0,NULL,wxLB_HSCROLL|wxLB_SINGLE,wxDefaultValidator,_T("ID_CHECKLISTBOX2"));
	clbTargets->Disable();
	FlexGridSizer1->Add(clbTargets,1,wxALL|wxEXPAND|wxFIXED_MINSIZE|wxALIGN_LEFT|wxALIGN_TOP,0);
	FlexGridSizer1->Add(16,16,0,wxALL|wxALIGN_LEFT|wxALIGN_TOP,0);
	BoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
	btnAll = new wxButton(this,ID_BUTTON2,_("All"),wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_BUTTON2"));
	btnAll->Disable();
	BoxSizer6->Add(btnAll,0,wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL,4);
	btnNone = new wxButton(this,ID_BUTTON3,_("None"),wxDefaultPosition,wxDefaultSize,0,wxDefaultValidator,_T("ID_BUTTON3"));
	btnNone->Disable();
	BoxSizer6->Add(btnNone,0,wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL,0);
	FlexGridSizer1->Add(BoxSizer6,0,wxALL|wxALIGN_RIGHT|wxALIGN_TOP,0);
	BoxSizer1->Add(FlexGridSizer1,1,wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL,8);
	BoxSizer3 = new wxBoxSizer(wxVERTICAL);
	BoxSizer1->Add(BoxSizer3,0,wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP,8);
	SetSizer(BoxSizer1);
	BoxSizer1->Fit(this);
	BoxSizer1->SetSizeHints(this);
	Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FilePathPanel::OntxtFilenameText);
	Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FilePathPanel::OnbtnBrowseClick);
	Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&FilePathPanel::OnchkAddToProjectChange);
	Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FilePathPanel::OnbtnAllClick);
	Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FilePathPanel::OnbtnNoneClick);
	//*)

    txtFilename->SetValue(wxEmptyString);
    txtGuard->SetValue(wxEmptyString);

    // fill targets list
    cbProject* prj = Manager::Get()->GetProjectManager()->GetActiveProject();
    if (prj)
    {
        clbTargets->Clear();
        for (int i = 0; i < prj->GetBuildTargetsCount(); ++i)
        {
            ProjectBuildTarget* bt = prj->GetBuildTarget(i);
            if (bt)
                clbTargets->Append(bt->GetTitle());
        }
        clbTargets->SetSelection(clbTargets->FindString(prj->GetActiveBuildTarget()));
        chkAddToProject->SetValue(true);
        ToggleVisibility(true);
    }
    else
    {
        chkAddToProject->SetValue(false);
        ToggleVisibility(false);
    }
}
示例#10
0
	bool KeyboardEventHandler::handle(const GUIEventAdapter& ea, GUIActionAdapter&)
	{
		switch(ea.getEventType())
		{
			case GUIEventAdapter::KEYDOWN :
			{
				//to pull up help menu and pause running state
				if(ea.getKey() == 'h' || ea.getKey() == 'H')
				{
					if(GLOBAL->gSimState & RUNNING)
					{	//show help and pause
						GLOBAL->gHUD_HelpGeode->setNodeMask(0xFFFFFF);
						GLOBAL->gHUD_HelpTextGeode->setNodeMask(0xFFFFFF);
						GLOBAL->gSimState ^= RUNNING;
						GLOBAL->gHUD_TimeText->setText("Firing Paused");
					}
					else {
						GLOBAL->gSimState |= RUNNING;
						GLOBAL->gHUD_HelpGeode->setNodeMask(0);
						GLOBAL->gHUD_HelpTextGeode->setNodeMask(0);
					}
				}
				
				//only accept all other key input if running
				if(GLOBAL->gSimState & RUNNING)
				switch(ea.getKey())
				{
				
					//FILTERING CONTROLS
					case ( 'N' ) :
						ToggleVisibility(GLOBAL->gSomaGeode.get());
						break;
					case ( 'n' ) :
						ToggleVisibility(GLOBAL->gSynapseGeode.get());
						break;
					case ( 'l' ) :
						ToggleVisibility(GLOBAL->gLinesGeode.get());
						break;
					case ( 'v' ) :
						FilterSynapses();
						break;
					case ( 'V' ) :
						FilterSomas();
						break;
					//MOTION CONTROLS
					//translations
					case 'w' :
					case 'W' :
						_fpm->moveForward(GLOBAL->gCamSpeed);
						break;
					case 'a':
					case 'A':
						_fpm->moveRight(-GLOBAL->gCamSpeed);
						break;
					case 's' :
					case 'S' :
						_fpm->moveForward(-GLOBAL->gCamSpeed);
						break;
					case 'd' :
					case 'D' :
						_fpm->moveRight(GLOBAL->gCamSpeed);
						break;
					case 'e' : 
					case 'E' :
						_fpm->moveUp(GLOBAL->gCamSpeed/2);
						break;
					case 'x' : 
					case 'X' :
						_fpm->moveUp(-GLOBAL->gCamSpeed/2);
						break;
					//rotations
					case ( osgGA::GUIEventAdapter::KEY_Up ) :
						_fpm->rotateUp(GLOBAL->gCamRotSpeed);
						break;
					case ( osgGA::GUIEventAdapter::KEY_Down ) :
						_fpm->rotateDown(GLOBAL->gCamRotSpeed);
						break;
					case ( osgGA::GUIEventAdapter::KEY_Left ) :
						_fpm->rotateLeft(GLOBAL->gCamRotSpeed);
						break;	
					case ( osgGA::GUIEventAdapter::KEY_Right ) :
						_fpm->rotateRight(GLOBAL->gCamRotSpeed);
						break;		
					//speed control
					
					case ( '-' ) :
						GLOBAL->gCamSpeed *= 0.5;
						break;
					case ( '=' ) :
						GLOBAL->gCamSpeed *=1.5;
						break;
					case ( '_' ) :
						GLOBAL->gCamRotSpeed *= 0.5;
						break;
					case ( '+' ) :
						GLOBAL->gCamRotSpeed *= 1.5;
						break;
					//firing control
					case 'g' ://start/pause
						if(GLOBAL->gSimState & FIRING_ACTIVE)
						{
							GLOBAL->gSimState ^= FIRING_ACTIVE;
							GLOBAL->gHUD_TimeText->setText("Firing Paused");
						}
						else GLOBAL->gSimState |= FIRING_ACTIVE;
						break;
					case 'G' ://reset
						GLOBAL->gFiringTimeElapsed = 0;
						break;
					case 'c':
						GLOBAL->SetCenter();
						break;
					case 'C':
					case osgGA::GUIEventAdapter::KEY_Space :
						GLOBAL->gOrbitCenter = Vec3d(0,0,0);
						GLOBAL->gOrbitManipulator->setCenter(GLOBAL->gOrbitCenter);
						break;
					default:
						break;
				}
				break;
			}
			default:
				break;
		}
		return false;
	}