void CEditorRoot::ApplySchemeSettings(vgui::IScheme *pScheme) { BaseClass::ApplySchemeSettings(pScheme); SetPaintBackgroundEnabled(true); SetPaintBorderEnabled(false); SetPaintEnabled(true); SetCloseButtonVisible(false); SetSizeable(false); SetMoveable(false); InitColors(); SetTitle( "", true ); SetTitleBarVisible( false ); m_pLabelTitle->SetText( GetEditorTitle() ); m_pLabelTitle->SetFont( pScheme->GetFont( "UiBold", false ) ); SetPaintBackgroundType( 0 ); OnShaderNameChanged(); GenerateFonts(pScheme); }
CShaderPrecache::CShaderPrecache( vgui::Panel *parent, CNodeView *nodeview ) : BaseClass( parent, nodeview, "shaderpreview" ) { m_pPanelList_Shader = new PanelListPanel( this, "shaderlist" ); m_pPanelList_Shader->SetFirstColumnWidth( 300 ); m_pCheck_ReloadCache = new CheckButton( this, "check_reloadcache", "Reload cache on close" ); LoadControlSettings("shadereditorui/vgui/shadereditor_shaderprecache.res"); SetTitle("Shader precache",true); SetAutoDelete( true ); SetSizeable(false); int sx, sy; surface()->GetScreenSize( sx, sy ); SetSize( 480, sy * 0.8f ); DoModal(); LoadList(); }
MainMenu::MainMenu(vgui::Panel* parent) : BaseClass(NULL, "MainMenu") { vgui::HScheme Scheme = vgui::scheme()->LoadSchemeFromFile("resource2/schememainmenu.res", "SchemeMainMenu"); SetScheme(Scheme); SetProportional(false); SetPaintBorderEnabled(false); SetPaintBackgroundEnabled(false); SetDeleteSelfOnClose(true); SetSizeable(false); SetMoveable(false); SetCloseButtonVisible(false); SetMenuButtonVisible(false); Activate(); m_bFocused = true; m_logoLeft = GameUI2().GetLocalizedString("#GameUI2_LogoLeft"); m_logoRight = GameUI2().GetLocalizedString("#GameUI2_LogoRight"); CreateMenu("resource2/mainmenu.res"); }
CDialog_PPEPrecache::CDialog_PPEPrecache( Panel *parent ) : BaseClass( parent, NULL, "dialog_precache_ppeffect" ) { SetSizeable( false ); SetVisible( true ); SetMouseInputEnabled( true ); SetKeyBoardInputEnabled( true ); Activate(); m_pList_Effects = new PanelListPanel( this, "effect_list" ); m_pList_Effects->SetNumColumns( 4 ); m_pList_Effects->SetFirstColumnWidth( 200 ); FillList(); LoadControlSettings( "shadereditorui/vgui/dialog_ppe_precache_list.res" ); SetTitle( "Post processing precache", true ); DoModal(); SetDeleteSelfOnClose( true ); MoveToCenterOfScreen(); }
CDialog_NewCanvas::CDialog_NewCanvas( CNodeView *n, Panel *parent ) : Frame( parent, "newshader" ) { pNodeView = n; SetSizeable( false ); SetVisible( true ); SetMouseInputEnabled( true ); SetKeyBoardInputEnabled( true ); SetDeleteSelfOnClose( true ); Activate(); DoModal(); m_pRadBut_Sm2 = new RadioButton( this, "rad_1", "SM 2.0b" ); m_pRadBut_Sm3 = new RadioButton( this, "rad_2", "SM 3.0" ); m_pRadBut_Sm2->SetSubTabPosition( 1 ); m_pRadBut_Sm3->SetSubTabPosition( 1 ); m_pRadBut_Sm3->SetSelected( true ); LoadControlSettings("shadereditorui/vgui/dialog_newcanvas.res"); SetTitle( "New shader", true ); }
// // Name: CGUIListenServer // Author: Hekar Khani // Description: GUI Panel to replace Valve's CreateServer // Notes: // CGUIListenServer::CGUIListenServer( vgui::VPANEL parent ) : BaseClass( NULL, "GUIListenServer" ) { SetParent( parent ); vgui::HScheme scheme = vgui::scheme()->LoadSchemeFromFile( "resource/SourceScheme.res", "SourceScheme" ); SetScheme( scheme ); LoadControlSettings( "Resource/UI/ListenServer.res" ); SetVisible( false ); SetSizeable( false ); SetMoveable( false ); SetSmallCaption( true ); SetMaximizeButtonVisible( false ); SetMinimizeButtonVisible( false ); SetCloseButtonVisible( false ); SetMenuButtonResponsive( true ); SetDeleteSelfOnClose( false ); GetPropertySheet()->SetSmallTabs( false ); AddPage( new CPanelListenMain( this ), "Main" ); }
CCode_Editor::CCode_Editor( CSheet_Base *parent, const char *pName, CSmartText::CodeEditMode_t mode ) : BaseClass( parent, pName ) { m_iMode = mode; Activate(); SetVisible( true ); SetPaintBackgroundEnabled(true); SetPaintEnabled(true); SetSizeable(true); SetMoveable(true); SetMinimumSize( 500, 400 ); SetDeleteSelfOnClose( true ); m_iLastAppliedCodeIndex = 0; m_pCodeWindow = new CSmartText( this, "codewindow", mode ); m_pCodeWindow->AddActionSignalTarget( this ); /* TextEntry *pT = new TextEntry( this, "codewindow" ); pT->SetMultiline( true ); pT->SetEditable( true ); pT->SetCatchEnterKey( true ); pT->SetVerticalScrollbar( true ); */ LoadControlSettings( "shadereditorui/vgui/code_editor_Window.res" ); UpdateButtonEnabled( true, true ); SetCloseButtonVisible(false); int w,t; surface()->GetScreenSize( w, t ); w *= 0.75f; t *= 0.75f; SetSize( max( w, 500 ), max( t, 400 ) ); //SetKeyBoardInputEnabled( false ); //SetMouseInputEnabled( true ); //SetTitle( "Editor", true ); SetTitle( "", false ); Panel *pButton = FindChildByName( "button_save" ); if ( pButton ) pButton->SetKeyBoardInputEnabled( false ); pButton = FindChildByName( "button_apply" ); if ( pButton ) pButton->SetKeyBoardInputEnabled( false ); pButton = FindChildByName( "button_cancel" ); if ( pButton ) pButton->SetKeyBoardInputEnabled( false ); DoModal(); int rx, ry, rsx, rsy; if ( pEditorRoot->GetCodeEditorBounds( rx, ry, rsx, rsy ) ) SetBounds( rx, ry, rsx, rsy ); else MoveToCenterOfScreen(); }
CDialog_GeneralConfig::CDialog_GeneralConfig( CNodeView *n, Panel *parent ) : Frame( parent, "_config" ) { pNodeView = n; GenericShaderData *setup = &n->GetDataForModify(); SetSizeable( false ); SetVisible( true ); SetMouseInputEnabled( true ); SetKeyBoardInputEnabled( true ); SetAutoDelete( true ); Activate(); m_pRadBut_Sm2 = new RadioButton( this, "rad_1", "SM 2.0b" ); m_pRadBut_Sm3 = new RadioButton( this, "rad_2", "SM 3.0" ); m_pRadBut_Sm2->SetSubTabPosition( 1 ); m_pRadBut_Sm3->SetSubTabPosition( 1 ); m_pCBut_DepthTest = new CheckButton( this, "depthtest", "Depth testing" ); m_pCBut_DepthWrite = new CheckButton( this, "depthwrite", "Depth writing" ); m_pCBut_sRGBWrite = new CheckButton( this, "srgbwrite", "write sRGB" ); m_pCBox_AlphaBlend = new ComboBox( this, "alphablend", numAblendModes, false ); for ( int i = 0; i < numAblendModes; i++ ) m_pCBox_AlphaBlend->AddItem( blendNames[i], NULL ); Assert( numAblendModes == m_pCBox_AlphaBlend->GetItemCount() ); m_pCBox_Cullmode = new ComboBox( this, "cullmode", 5, false ); m_pCBox_Cullmode->AddItem( "CW", NULL ); m_pCBox_Cullmode->AddItem( "CCW", NULL ); //m_pCBox_Cullmode->AddItem( "Double", NULL ); m_pCBox_Cullmode->AddItem( "Off", NULL ); LoadControlSettings("shadereditorui/vgui/dialog_config.res"); if ( setup->shader->iShaderModel == SM_30 ) m_pRadBut_Sm3->SetSelected( true ); else m_pRadBut_Sm2->SetSelected( true ); m_pCBut_DepthTest->SetSelected( setup->shader->iDepthtestmode == DEPTHTEST_NORMAL ); m_pCBut_DepthWrite->SetSelected( setup->shader->iDepthwritemode == DEPTHWRITE_NORMAL ); m_pCBox_Cullmode->ActivateItem( setup->shader->iCullmode ); m_pCBut_sRGBWrite->SetSelected( setup->shader->bsRGBWrite ); for ( int i = 0; i < numAblendModes; i++ ) { if ( blendIDx[i] == setup->shader->iAlphablendmode ) { m_pCBox_AlphaBlend->ActivateItem( i ); break; } } SetTitle( "Shader settings", true ); DoModal(); SetDeleteSelfOnClose( true ); }
//----------------------------------------------------------------------------- // Purpose: Constructor //----------------------------------------------------------------------------- CBuildMenu::CBuildMenu(IViewPort *pViewPort) : Frame(NULL, PANEL_BUILD ) { gBuildMenu = this; m_pViewPort = pViewPort; m_iJumpKey = -1; // this is looked up in Activate() // m_iScoreBoardKey = -1; // this is looked up in Activate() // initialize dialog SetTitle("Spawn Menu", true); // load the new scheme early!! scheme = vgui::scheme()->LoadSchemeFromFile("resource/ZombieMaster.res", "ZombieMaster"); SetScheme(scheme); SetSizeable(false); m_hLargeFont = vgui::scheme()->GetIScheme(scheme)->GetFont("Trebuchet18", true); m_hMediumFont = vgui::scheme()->GetIScheme(scheme)->GetFont("Trebuchet16", true); SetProportional(false); LoadControlSettings("Resource/UI/BuildMenu.res"); vgui::ivgui()->AddTickSignal(GetVPanel(), 150); //TGB: moved here because the .res seemed to override it SetMoveable(true); InvalidateLayout(); //we fetch a bunch of pointers to various elements here so we can alter them quickly and easily info_image = dynamic_cast<vgui::ImagePanel*>(FindChildByName("ZombieImage")); info_rescost = dynamic_cast<vgui::Label*>(FindChildByName("CostRes")); info_popcost = dynamic_cast<vgui::Label*>(FindChildByName("CostPop")); info_description = dynamic_cast<vgui::Label*>(FindChildByName("LabelDescription")); removelast = dynamic_cast<vgui::Button*>(FindChildByName("RemoveLast")); clearqueue = dynamic_cast<vgui::Button*>(FindChildByName("ClearQueue")); //prepare a list of our spawn buttons etc so we can easily iterate over them for (int i=0; i < TYPE_TOTAL; i++) { char buffer[25]; Q_snprintf(buffer, sizeof(buffer), "z_spawn1_%02d", i); spawnbuttons[i] = FindChildByName(buffer); Q_snprintf(buffer, sizeof(buffer), "z_spawn5_%02d", i); spawnfives[i] = FindChildByName(buffer); zombieimages[i] = vgui::scheme()->GetImage(TypeToImage[i], true); zombiequeue[i] = vgui::scheme()->GetImage(TypeToQueueImage[i], false); } KeyValues *kv = new KeyValues("zombiedesc.res"); if ( kv->LoadFromFile( (IBaseFileSystem*)filesystem, "resource/zombiedesc.res", "MOD" ) ) { //braaaaaaah, char juggling is pain const char *temp = kv->GetString("shambler", "Shambler"); int length = 128; char *saved = new char[length]; Q_strncpy(saved, temp, strlen(temp) + 1); zombiedescriptions[TYPE_SHAMBLER] = saved; temp = kv->GetString("banshee", "Banshee"); saved = new char[length]; Q_strncpy(saved, temp, strlen(temp) + 1); zombiedescriptions[TYPE_BANSHEE] = saved; temp = kv->GetString("hulk", "Hulk"); saved = new char[length]; Q_strncpy(saved, temp, strlen(temp) + 1); zombiedescriptions[TYPE_HULK] = saved; temp = kv->GetString("drifter", "Drifter"); saved = new char[length]; Q_strncpy(saved, temp, strlen(temp) + 1); zombiedescriptions[TYPE_DRIFTER] = saved; temp = kv->GetString("immolator", "Immolator"); saved = new char[length]; Q_strncpy(saved, temp, strlen(temp) + 1); zombiedescriptions[TYPE_IMMOLATOR] = saved; } //will delete its child keys as well kv->deleteThis(); for (int i=0; i < BM_QUEUE_SIZE; i++) { char buffer[10]; Q_snprintf(buffer, sizeof(buffer), "queue%02d", i); queueimages[i] = dynamic_cast<vgui::ImagePanel*>(FindChildByName(buffer)); } }