diff options
Diffstat (limited to 'vgui2/vlocalize')
| -rw-r--r-- | vgui2/vlocalize/CreateTokenDialog.cpp | 151 | ||||
| -rw-r--r-- | vgui2/vlocalize/CreateTokenDialog.h | 56 | ||||
| -rw-r--r-- | vgui2/vlocalize/LocalizationDialog.cpp | 296 | ||||
| -rw-r--r-- | vgui2/vlocalize/LocalizationDialog.h | 70 | ||||
| -rw-r--r-- | vgui2/vlocalize/main.cpp | 117 | ||||
| -rw-r--r-- | vgui2/vlocalize/vlocalize.vpc | 86 |
6 files changed, 776 insertions, 0 deletions
diff --git a/vgui2/vlocalize/CreateTokenDialog.cpp b/vgui2/vlocalize/CreateTokenDialog.cpp new file mode 100644 index 0000000..1737d1f --- /dev/null +++ b/vgui2/vlocalize/CreateTokenDialog.cpp @@ -0,0 +1,151 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#include "CreateTokenDialog.h" +#include "LocalizationDialog.h" + +#include "vgui_controls/TextEntry.h" +#include "vgui_controls/Button.h" +#include "vgui_controls/MessageBox.h" +#include "tier1/KeyValues.h" +#include "vgui/ILocalize.h" + +using namespace vgui; + +//----------------------------------------------------------------------------- +// Purpose: Cosntructor +//----------------------------------------------------------------------------- +CCreateTokenDialog::CCreateTokenDialog( CLocalizationDialog *pLocalizationDialog ) : Frame(NULL, "CreateTokenDialog"), + m_pLocalizationDialog( m_pLocalizationDialog ) +{ + Assert( m_pLocalizationDialog ); + + MakePopup(); + + SetTitle("Create New Token - Localizer", true); + + m_pSkipButton = new Button(this, "SkipButton", "&Skip Token"); + m_pTokenName = new TextEntry(this, "TokenName"); + + m_pTokenValue = new TextEntry(this, "TokenValue"); + m_pTokenValue->SetMultiline(true); + m_pTokenValue->SetCatchEnterKey(true); + + m_pSkipButton->SetCommand("SkipToken"); + m_pSkipButton->SetVisible(false); + + LoadControlSettings("Resource/CreateTokenDialog.res"); +} + +//----------------------------------------------------------------------------- +// Purpose: Destructor +//----------------------------------------------------------------------------- +CCreateTokenDialog::~CCreateTokenDialog() +{ +} + +//----------------------------------------------------------------------------- +// Purpose: prompts user to create a single token +//----------------------------------------------------------------------------- +void CCreateTokenDialog::CreateSingleToken() +{ + // bring us to the front + SetVisible(true); + RequestFocus(); + MoveToFront(); + m_pTokenName->RequestFocus(); + m_pSkipButton->SetVisible(false); + + m_bMultiToken = false; +} + +//----------------------------------------------------------------------------- +// Purpose: loads a file to create multiple tokens +//----------------------------------------------------------------------------- +void CCreateTokenDialog::CreateMultipleTokens() +{ + SetVisible(true); + RequestFocus(); + MoveToFront(); + m_pTokenValue->RequestFocus(); + m_pSkipButton->SetVisible(true); + + m_bMultiToken = true; + + //!! read tokens from file, prompt user to each in turn +} + +//----------------------------------------------------------------------------- +// Purpose: Handles an OK message, creating the current token +//----------------------------------------------------------------------------- +void CCreateTokenDialog::OnOK() +{ + // get the data + char tokenName[1024], tokenValue[1024]; + m_pTokenName->GetText( tokenName, sizeof( tokenName ) ); + m_pTokenValue->GetText( tokenValue, sizeof( tokenValue ) ); + + if ( Q_strlen( tokenName ) < 4 ) + { + MessageBox *box = new MessageBox("Create Token Error", "Could not create token.\nToken names need to be at least 4 characters long."); + box->DoModal(); + } + else + { + // create the token + wchar_t unicodeString[1024]; + g_pVGuiLocalize->ConvertANSIToUnicode(tokenValue, unicodeString, sizeof(unicodeString) / sizeof(wchar_t)); + g_pVGuiLocalize->AddString(tokenName, unicodeString, m_pLocalizationDialog->GetFileName() ); + + // notify the dialog creator + PostActionSignal(new KeyValues("TokenCreated", "name", tokenName)); + + // close + if (!m_bMultiToken) + { + PostMessage(this, new KeyValues("Close")); + } + } +} + +//----------------------------------------------------------------------------- +// Purpose: skips the current token in the multitoken edit mode +//----------------------------------------------------------------------------- +void CCreateTokenDialog::OnSkip() +{ +} + +//----------------------------------------------------------------------------- +// Purpose: handles a button command +// Input : *command - +//----------------------------------------------------------------------------- +void CCreateTokenDialog::OnCommand(const char *command) +{ + if (!stricmp(command, "OK")) + { + OnOK(); + } + else if (!stricmp(command, "SkipToken")) + { + OnSkip(); + } + else + { + BaseClass::OnCommand(command); + } +} + +//----------------------------------------------------------------------------- +// Purpose: handles the close message +//----------------------------------------------------------------------------- +void CCreateTokenDialog::OnClose() +{ + BaseClass::OnClose(); + MarkForDeletion(); +} + + diff --git a/vgui2/vlocalize/CreateTokenDialog.h b/vgui2/vlocalize/CreateTokenDialog.h new file mode 100644 index 0000000..1d867cd --- /dev/null +++ b/vgui2/vlocalize/CreateTokenDialog.h @@ -0,0 +1,56 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef CREATETOKENDIALOG_H +#define CREATETOKENDIALOG_H +#ifdef _WIN32 +#pragma once +#endif + +#include <VGUI_controls/Frame.h> + +namespace vgui +{ +class Button; +class TextEntry; +}; + +class CLocalizationDialog; +//----------------------------------------------------------------------------- +// Purpose: Creates a new token +//----------------------------------------------------------------------------- +class CCreateTokenDialog : public vgui::Frame +{ +public: + CCreateTokenDialog( CLocalizationDialog *pLocalizationDialog ); + ~CCreateTokenDialog(); + + // prompts user to create a single token + virtual void CreateSingleToken(); + + // loads a token file to prompt the user to create multiple tokens + virtual void CreateMultipleTokens(); + +private: + virtual void OnCommand(const char *command); + virtual void OnClose(); + + virtual void OnOK(); + virtual void OnSkip(); + + vgui::Button *m_pSkipButton; + vgui::TextEntry *m_pTokenName; + vgui::TextEntry *m_pTokenValue; + CLocalizationDialog *m_pLocalizationDialog; + + bool m_bMultiToken; + + typedef vgui::Frame BaseClass; +}; + + +#endif // CREATETOKENDIALOG_H diff --git a/vgui2/vlocalize/LocalizationDialog.cpp b/vgui2/vlocalize/LocalizationDialog.cpp new file mode 100644 index 0000000..84232eb --- /dev/null +++ b/vgui2/vlocalize/LocalizationDialog.cpp @@ -0,0 +1,296 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + + +#include "LocalizationDialog.h" +#include "CreateTokenDialog.h" + +#include "vgui_controls/Button.h" +#include "vgui_controls/ListPanel.h" +#include"vgui_controls/TextEntry.h" +#include "VGUI/IVGui.h" +#include "VGUI/ILocalize.h" +#include "VGUI/ISurface.h" +#include "tier1/KeyValues.h" +#include "vgui_controls/Menu.h" +#include "vgui_controls/MenuButton.h" +#include "vgui_controls/MessageBox.h" +#include "vgui_controls/FileOpenDialog.h" + +#include <stdio.h> + +using namespace vgui; + +//----------------------------------------------------------------------------- +// Purpose: Constructor +//----------------------------------------------------------------------------- +CLocalizationDialog::CLocalizationDialog(const char *fileName) : Frame(NULL, "LocalizationDialog") +{ + m_iCurrentToken = -1; + + m_pTokenList = new ListPanel(this, "TokenList"); + + m_pTokenList->AddColumnHeader(0, "Token", "Token Name", 128, 128, 1024, 0 ); + + m_pLanguageEdit = new TextEntry(this, "LanguageEdit"); + m_pLanguageEdit->SetMultiline(true); + m_pLanguageEdit->SetVerticalScrollbar(true); + m_pLanguageEdit->SetCatchEnterKey(true); + m_pEnglishEdit = new TextEntry(this, "EnglishEdit"); + m_pEnglishEdit->SetMultiline(true); + m_pEnglishEdit->SetVerticalScrollbar(true); + m_pEnglishEdit->SetVerticalScrollbar(true); + + m_pFileMenu = new Menu(this, "FileMenu"); + + m_pFileMenu->AddMenuItem(" &Open File ", new KeyValues("FileOpen"), this); + m_pFileMenu->AddMenuItem(" &Save File ", new KeyValues("FileSave"), this); + m_pFileMenu->AddMenuItem(" E&xit Localizer ", new KeyValues("Close"), this); + m_pFileMenuButton = new MenuButton(this, "FileMenuButton", "File"); + m_pFileMenuButton->SetMenu(m_pFileMenu); + m_pApplyButton = new Button(this, "ApplyButton", "Apply"); + m_pApplyButton->SetCommand(new KeyValues("ApplyChanges")); + m_pTestLabel = new Label(this, "TestLabel", ""); + + LoadControlSettings("Resource/LocalizationDialog.res"); + + strcpy(m_szFileName, fileName); + + char buf[512]; + Q_snprintf(buf, sizeof( buf ), "%s - Localization Editor", m_szFileName); + SetTitle(buf, true); + + // load in the string table + if (!g_pVGuiLocalize->AddFile( m_szFileName ) ) + { + MessageBox *msg = new MessageBox("Fatal error", "couldn't load specified file"); + msg->SetCommand("Close"); + msg->AddActionSignalTarget(this); + msg->DoModal(); + return; + } + + // populate the dialog with the strings + StringIndex_t idx = g_pVGuiLocalize->GetFirstStringIndex(); + while ( idx != INVALID_LOCALIZE_STRING_INDEX ) + { + // adds the strings into the table, along with the indexes + m_pTokenList->AddItem(new KeyValues("LString", "Token", g_pVGuiLocalize->GetNameByIndex(idx)), idx, false, false); + + // move to the next string + idx = g_pVGuiLocalize->GetNextStringIndex(idx); + } + + // sort the table + m_pTokenList->SetSortColumn(0); + m_pTokenList->SortList(); +} + +//----------------------------------------------------------------------------- +// Purpose: Destructor +//----------------------------------------------------------------------------- +CLocalizationDialog::~CLocalizationDialog() +{ +} + +//----------------------------------------------------------------------------- +// Purpose: Handles closing of the dialog - shuts down the whole app +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnClose() +{ + BaseClass::OnClose(); + + // Stop vgui running + vgui::ivgui()->Stop(); +} + +//----------------------------------------------------------------------------- +// Purpose: lays out the dialog +//----------------------------------------------------------------------------- +void CLocalizationDialog::PerformLayout() +{ + OnTextChanged(); + + BaseClass::PerformLayout(); +} + +//----------------------------------------------------------------------------- +// Purpose: Sets the currently selected token +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnTokenSelected() +{ + if (m_pTokenList->GetSelectedItemsCount() != 1) + { + // clear the list + m_pLanguageEdit->SetText(""); + m_pEnglishEdit->SetText(""); + + //!! unicode test label + m_pTestLabel->SetText(""); + + m_iCurrentToken = -1; + } + else + { + // get the data + int itemId = m_pTokenList->GetSelectedItem(0); + vgui::ListPanelItem *data = m_pTokenList->GetItemData( itemId ); + Assert( data ); + m_iCurrentToken = data->userData; + wchar_t *unicodeString = g_pVGuiLocalize->GetValueByIndex(m_iCurrentToken); + + char value[2048]; + g_pVGuiLocalize->ConvertUnicodeToANSI(unicodeString, value, sizeof(value)); + + //!! unicode test label + m_pTestLabel->SetText(unicodeString); + + // set the text + m_pLanguageEdit->SetText(value); + m_pEnglishEdit->SetText(value); + } + + m_pApplyButton->SetEnabled(false); +} + +//----------------------------------------------------------------------------- +// Purpose: Checks to see if any text has changed +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnTextChanged() +{ + static char buf1[1024], buf2[1024]; + + m_pLanguageEdit->GetText( buf1, sizeof( buf1 ) ); + m_pEnglishEdit->GetText( buf2, sizeof( buf2 ) ); + + if (!strcmp(buf1, buf2)) + { + m_pApplyButton->SetEnabled(false); + } + else + { + m_pApplyButton->SetEnabled(true); + } +} + +//----------------------------------------------------------------------------- +// Purpose: Copies any changes made into the main database +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnApplyChanges() +{ + if (m_iCurrentToken < 0) + return; + + static char buf1[1024]; + static wchar_t unicodeString[1024]; + m_pLanguageEdit->GetText( buf1, sizeof( buf1 ) ); + g_pVGuiLocalize->ConvertANSIToUnicode(buf1, unicodeString, sizeof(unicodeString) / sizeof(wchar_t)); + + //!! unicode test label + m_pTestLabel->SetText(unicodeString); + + // apply the text change to the database + g_pVGuiLocalize->SetValueByIndex(m_iCurrentToken, unicodeString); + + // disable the apply button + m_pApplyButton->SetEnabled(false); + + // reselect the token + OnTokenSelected(); +} + +//----------------------------------------------------------------------------- +// Purpose: Message handler for saving current file +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnFileSave() +{ + if (g_pVGuiLocalize->SaveToFile( m_szFileName ) ) + { + // success + MessageBox *box = new MessageBox("Save Successful - VLocalize", "File was successfully saved.", false); + box->DoModal(); + } + else + { + // failure + MessageBox *box = new MessageBox("Error during save - VLocalize", "Error - File was not successfully saved.", false); + box->DoModal(); + } +} + +//----------------------------------------------------------------------------- +// Purpose: Message handler for loading a file +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnFileOpen() +{ + FileOpenDialog *box = new FileOpenDialog( this, "Open", true ); + + box->SetStartDirectory("u:\\"); + box->AddFilter("*.*", "All Files (*.*)", true ); + box->DoModal(false); +} + +//----------------------------------------------------------------------------- +// Purpose: Handles a token created message +// Input : *tokenName - the name of the newly created token +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnTokenCreated(const char *tokenName) +{ + // add the new string table token to the token list + int idx = g_pVGuiLocalize->FindIndex(tokenName); + int itemId = m_pTokenList->AddItem(new KeyValues("LString", "Token", g_pVGuiLocalize->GetNameByIndex(idx)), idx, true, true ); + + // make that currently selected + m_pTokenList->SetSingleSelectedItem( itemId ); + OnTokenSelected(); +} + +//----------------------------------------------------------------------------- +// Purpose: Creates a new token +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnCreateToken() +{ + CCreateTokenDialog *dlg = new CCreateTokenDialog( this ); + dlg->AddActionSignalTarget(this); + dlg->CreateSingleToken(); +} + +char const *CLocalizationDialog::GetFileName() const +{ + return m_szFileName; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *command - +//----------------------------------------------------------------------------- +void CLocalizationDialog::OnCommand(const char *command) +{ + if (!stricmp(command, "CreateToken")) + { + OnCreateToken(); + } + else + { + BaseClass::OnCommand(command); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: empty message map +//----------------------------------------------------------------------------- +MessageMapItem_t CLocalizationDialog::m_MessageMap[] = +{ + MAP_MESSAGE( CLocalizationDialog, "RowSelected", OnTokenSelected ), // message from the m_pTokenList + MAP_MESSAGE( CLocalizationDialog, "TextChanged", OnTextChanged ), // message from the text entry + MAP_MESSAGE( CLocalizationDialog, "ApplyChanges", OnApplyChanges ), // message from the text entry + MAP_MESSAGE( CLocalizationDialog, "FileSave", OnFileSave ), + MAP_MESSAGE( CLocalizationDialog, "FileOpen", OnFileOpen ), + MAP_MESSAGE_CONSTCHARPTR( CLocalizationDialog, "TokenCreated", OnTokenCreated, "name" ), +}; +IMPLEMENT_PANELMAP(CLocalizationDialog, BaseClass); diff --git a/vgui2/vlocalize/LocalizationDialog.h b/vgui2/vlocalize/LocalizationDialog.h new file mode 100644 index 0000000..195cebe --- /dev/null +++ b/vgui2/vlocalize/LocalizationDialog.h @@ -0,0 +1,70 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef LOCALIZATIONDIALOG_H +#define LOCALIZATIONDIALOG_H +#ifdef _WIN32 +#pragma once +#endif + +#include <VGUI_controls/Frame.h> + +namespace vgui +{ +class Button; +class ComboBox; +class Label; +class TextEntry; +class ListPanel; +class MenuButton; +}; + +//----------------------------------------------------------------------------- +// Purpose: Main localization dialog class +//----------------------------------------------------------------------------- +class CLocalizationDialog : public vgui::Frame +{ +public: + CLocalizationDialog(const char *fileName); + ~CLocalizationDialog(); + + char const *GetFileName() const; + +private: + // vgui overrides + virtual void PerformLayout(); + virtual void OnClose(); + virtual void OnCommand(const char *command); + + // message handlers + virtual void OnTokenSelected(); + virtual void OnTextChanged(); + virtual void OnApplyChanges(); + virtual void OnFileOpen(); + virtual void OnFileSave(); + virtual void OnCreateToken(); + virtual void OnTokenCreated(const char *tokenName); + + vgui::ListPanel *m_pTokenList; + vgui::TextEntry *m_pLanguageEdit; + vgui::TextEntry *m_pEnglishEdit; + vgui::MenuButton *m_pFileMenuButton; + vgui::Menu *m_pFileMenu; + vgui::Button *m_pApplyButton; + vgui::Label *m_pTestLabel; + + int m_iCurrentToken; + + char m_szFileName[512]; + + DECLARE_PANELMAP(); + + typedef vgui::Frame BaseClass; +}; + + +#endif // LOCALIZATIONDIALOG_H diff --git a/vgui2/vlocalize/main.cpp b/vgui2/vlocalize/main.cpp new file mode 100644 index 0000000..a09a1cc --- /dev/null +++ b/vgui2/vlocalize/main.cpp @@ -0,0 +1,117 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//===========================================================================// + +#include "vgui_controls/Panel.h" +#include "vgui/IScheme.h" +#include "vgui/ISurface.h" +#include "vgui/IVGui.h" +#include "filesystem.h" +#include "tier0/icommandline.h" +#include "inputsystem/iinputsystem.h" +#include "appframework/tier3app.h" +#include <windows.h> + +//#include "..\..\tracker\common\winlite.h" + +#include "LocalizationDialog.h" + +#include <stdio.h> + + +//----------------------------------------------------------------------------- +// The application object +//----------------------------------------------------------------------------- +class CVLocalizeApp : public CVguiSteamApp +{ + typedef CVguiSteamApp BaseClass; + +public: + // Methods of IApplication + virtual bool Create(); + virtual bool PreInit(); + virtual int Main(); + virtual void Destroy() {} +}; + +DEFINE_WINDOWED_STEAM_APPLICATION_OBJECT( CVLocalizeApp ); + + +//----------------------------------------------------------------------------- +// The application object +//----------------------------------------------------------------------------- +bool CVLocalizeApp::Create() +{ + AppSystemInfo_t appSystems[] = + { + { "inputsystem.dll", INPUTSYSTEM_INTERFACE_VERSION }, + { "vgui2.dll", VGUI_IVGUI_INTERFACE_VERSION }, + { "", "" } // Required to terminate the list + }; + + return AddSystems( appSystems ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Entry point +//----------------------------------------------------------------------------- +bool CVLocalizeApp::PreInit() +{ + if ( !BaseClass::PreInit() ) + return false; + + if ( !BaseClass::SetupSearchPaths( NULL, false, true ) ) + { + ::MessageBox( NULL, "Error", "Unable to initialize file system\n", MB_OK ); + return false; + } + + g_pFullFileSystem->AddSearchPath("../game/platform", "PLATFORM"); + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: Entry point +//----------------------------------------------------------------------------- +int CVLocalizeApp::Main() +{ + // load the scheme + if (!vgui::scheme()->LoadSchemeFromFile("Resource/TrackerScheme.res", "Tracker" )) + return 1; + + // Init the surface + vgui::Panel *panel = new vgui::Panel(NULL, "TopPanel"); + vgui::surface()->SetEmbeddedPanel(panel->GetVPanel()); + + // Start vgui + vgui::ivgui()->Start(); + + // add our main window + if ( CommandLine()->ParmCount() < 2 ) + { + Warning( "Must specify a localization file!\n" ); + return 0; + } + + const char *pFileName = CommandLine()->GetParm( 1 ); + CLocalizationDialog *dlg = new CLocalizationDialog( pFileName ); + dlg->SetParent( panel->GetVPanel() ); + dlg->MakePopup(); +// dlg->SetBounds( 0, 0, 800, 600 ); + dlg->SetVisible( true ); + + // Run app frame loop + while (vgui::ivgui()->IsRunning()) + { + vgui::ivgui()->RunFrame(); + vgui::surface()->PaintTraverseEx( panel->GetVPanel(), true ); + } + + return 1; +} diff --git a/vgui2/vlocalize/vlocalize.vpc b/vgui2/vlocalize/vlocalize.vpc new file mode 100644 index 0000000..34a7490 --- /dev/null +++ b/vgui2/vlocalize/vlocalize.vpc @@ -0,0 +1,86 @@ +//----------------------------------------------------------------------------- +// VLOCALIZE.VPC +// +// Project Script +//----------------------------------------------------------------------------- + +$Macro SRCDIR "..\.." +$Macro OUTBINDIR "$SRCDIR\..\game\bin" + +$Include "$SRCDIR\vpc_scripts\source_exe_base.vpc" + +$Configuration +{ + $Compiler + { + } + + $Linker + { + $AdditionalDependencies "$BASE odbc32.lib odbccp32.lib WS2_32.LIB" + } +} + +$Project "Vlocalize" +{ + $Folder "Source Files" + { + $File "CreateTokenDialog.cpp" + $File "LocalizationDialog.cpp" + $File "main.cpp" + $File "$SRCDIR\public\vgui_controls\vgui_controls.cpp" + } + + $Folder "Header Files" + { + $File "$SRCDIR\public\tier0\basetypes.h" + $File "CreateTokenDialog.h" + $File "$SRCDIR\public\tier0\dbg.h" + $File "$SRCDIR\public\tier0\fasttimer.h" + $File "$SRCDIR\public\filesystem.h" + $File "$SRCDIR\public\appframework\IAppSystem.h" + $File "$SRCDIR\public\tier1\interface.h" + $File "LocalizationDialog.h" + $File "$SRCDIR\public\tier0\platform.h" + $File "$SRCDIR\public\tier1\strtools.h" + $File "$SRCDIR\public\tier1\utlmemory.h" + $File "$SRCDIR\public\tier1\utlrbtree.h" + $File "$SRCDIR\public\tier1\utlvector.h" + $File "$SRCDIR\public\mathlib\vector2d.h" + $File "$SRCDIR\public\vgui\VGUI.h" + $File "$SRCDIR\public\vgui\Dar.h" + $File "$SRCDIR\public\vgui\IClientPanel.h" + $File "$SRCDIR\public\vgui\IHTML.h" + $File "$SRCDIR\public\vgui\ILocalize.h" + $File "$SRCDIR\public\vgui\IScheme.h" + $File "$SRCDIR\public\vgui\ISurface.h" + $File "$SRCDIR\public\vgui\IVGui.h" + $File "$SRCDIR\public\vgui\KeyCode.h" + $File "$SRCDIR\public\vgui\MouseCode.h" + $File "$SRCDIR\public\vgui_controls\Button.h" + $File "$SRCDIR\public\vgui_controls\Controls.h" + $File "$SRCDIR\public\vgui_controls\EditablePanel.h" + $File "$SRCDIR\public\vgui_controls\FileOpenDialog.h" + $File "$SRCDIR\public\vgui_controls\FocusNavGroup.h" + $File "$SRCDIR\public\vgui_controls\Frame.h" + $File "$SRCDIR\public\vgui_controls\Label.h" + $File "$SRCDIR\public\vgui_controls\ListPanel.h" + $File "$SRCDIR\public\vgui_controls\Menu.h" + $File "$SRCDIR\public\vgui_controls\MenuButton.h" + $File "$SRCDIR\public\vgui_controls\MessageBox.h" + $File "$SRCDIR\public\vgui_controls\Panel.h" + $File "$SRCDIR\public\vgui_controls\PHandle.h" + $File "$SRCDIR\public\vgui_controls\TextEntry.h" + $File "$SRCDIR\public\vstdlib\vstdlib.h" + $File "$SRCDIR\public\winlite.h" + } + + $Folder "Link Libraries" + { + $Lib appframework + $Lib tier2 + $Lib tier3 + $Lib vgui_controls + $Lib mathlib + } +} |