aboutsummaryrefslogtreecommitdiff
path: root/mp/src/vgui2/vgui_controls/MenuBar.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/vgui2/vgui_controls/MenuBar.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/vgui2/vgui_controls/MenuBar.cpp')
-rw-r--r--mp/src/vgui2/vgui_controls/MenuBar.cpp504
1 files changed, 252 insertions, 252 deletions
diff --git a/mp/src/vgui2/vgui_controls/MenuBar.cpp b/mp/src/vgui2/vgui_controls/MenuBar.cpp
index f0f5dd11..43ae560a 100644
--- a/mp/src/vgui2/vgui_controls/MenuBar.cpp
+++ b/mp/src/vgui2/vgui_controls/MenuBar.cpp
@@ -1,252 +1,252 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#include <vgui/IInput.h>
-#include <vgui/IPanel.h>
-#include <vgui/IScheme.h>
-#include <vgui/IBorder.h>
-#include <vgui/ISurface.h>
-#include <vgui/KeyCode.h>
-#include <KeyValues.h>
-
-#include <vgui_controls/MenuBar.h>
-#include <vgui_controls/MenuButton.h>
-#include <vgui_controls/Label.h>
-#include <vgui_controls/Controls.h>
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include <tier0/memdbgon.h>
-
-using namespace vgui;
-
-
-enum
-{
- MENUBARINDENT = 4, // indent from top and bottom of panel.
-};
-
-DECLARE_BUILD_FACTORY( MenuBar );
-
-//-----------------------------------------------------------------------------
-// Purpose: Constructor
-//-----------------------------------------------------------------------------
-MenuBar::MenuBar(Panel *parent, const char *panelName) :
- Panel(parent, panelName),
- m_nRightEdge( 0 )
-{
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Destructor
-//-----------------------------------------------------------------------------
-MenuBar::~MenuBar()
-{
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void MenuBar::AddButton(MenuButton *button)
-{
- button->SetParent(this);
- button->AddActionSignalTarget(this);
- m_pMenuButtons.AddToTail(button);
-}
-
-//-----------------------------------------------------------------------------
-// This will add the menu to the menu bar
-//-----------------------------------------------------------------------------
-void MenuBar::AddMenu( const char *pButtonName, Menu *pMenu )
-{
- MenuButton *pMenuButton = new MenuButton(this, pButtonName, pButtonName);
- pMenuButton->SetMenu(pMenu);
- AddButton(pMenuButton);
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Handle key presses, Activate shortcuts
-//-----------------------------------------------------------------------------
-void MenuBar::OnKeyCodeTyped(KeyCode code)
-{
- switch(code)
- {
- case KEY_RIGHT:
- {
- // iterate the menu items looking for one that is open
- // if we find one open, open the one to the right
- for (int i = 0; i < m_pMenuButtons.Count() - 1; i++)
- {
- MenuButton *panel = m_pMenuButtons[i];
- if (panel->IsDepressed())
- {
- m_pMenuButtons[i]->DoClick();
- m_pMenuButtons[i+1]->DoClick();
- break;
- }
- }
- break;
- }
- case KEY_LEFT:
- {
- // iterate the menu items looking for one that is open
- // if we find one open, open the one to the left
- for (int i = 1; i < m_pMenuButtons.Count(); i++)
- {
- MenuButton *panel = m_pMenuButtons[i];
- if (panel->IsDepressed())
- {
- m_pMenuButtons[i]->DoClick();
- m_pMenuButtons[i-1]->DoClick();
- break;
- }
- }
- break;
- }
- default:
- {
- break;
- }
- }
-
- // don't chain back
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Handle key presses, Activate shortcuts
-// Input : code -
-//-----------------------------------------------------------------------------
-void MenuBar::OnKeyTyped(wchar_t unichar)
-{
- if (unichar)
- {
- // iterate the menu items looking for one with the matching hotkey
- for (int i = 0; i < m_pMenuButtons.Count(); i++)
- {
- MenuButton *panel = m_pMenuButtons[i];
- if (panel->IsVisible())
- {
- Panel *hot = panel->HasHotkey(unichar);
- if (hot)
- {
- // post a message to the menuitem telling it it's hotkey was pressed
- PostMessage(hot, new KeyValues("Hotkey"));
- return;
- }
- }
- }
- }
-
- // don't chain back
-}
-
-void MenuBar::Paint()
-{
- IScheme *pScheme = scheme()->GetIScheme( GetScheme() );
- for ( int i = 0; i < m_pMenuButtons.Count(); i++)
- {
- if (!m_pMenuButtons[i]->IsArmed())
- m_pMenuButtons[i]->SetDefaultBorder(NULL);
- else
- {
- m_pMenuButtons[i]->SetDefaultBorder(pScheme->GetBorder( "ButtonBorder"));
- }
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Message map
-//-----------------------------------------------------------------------------
-void MenuBar::ApplySchemeSettings(IScheme *pScheme)
-{
- BaseClass::ApplySchemeSettings(pScheme);
-
- // get the borders we need
- SetBorder(pScheme->GetBorder("ButtonBorder"));
-
- // get the background color
- SetBgColor(pScheme->GetColor( "MenuBar.BgColor", GetBgColor() ));
-
-}
-
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Reformat according to the new layout
-//-----------------------------------------------------------------------------
-void MenuBar::PerformLayout()
-{
- int nBarWidth, nBarHeight;
- GetSize( nBarWidth, nBarHeight );
-
- // Now position + resize all buttons
- int x = MENUBARINDENT;
- for ( int i = 0; i < m_pMenuButtons.Count(); ++i )
- {
- int nWide, nTall;
-
- m_pMenuButtons[i]->GetContentSize(nWide, nTall);
- m_pMenuButtons[i]->SetPos( x, MENUBARINDENT );
- m_pMenuButtons[i]->SetSize( nWide + Label::Content, nBarHeight - 2 * MENUBARINDENT );
-
- x += nWide + MENUBARINDENT;
- }
-
- m_nRightEdge = x;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Get the size of the menus in the bar (so other children can be added to menu bar)
-// Input : w -
-// int&h -
-//-----------------------------------------------------------------------------
-void MenuBar::GetContentSize( int& w, int&h )
-{
- w = m_nRightEdge + 2;
- h = GetTall();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Message map
-//-----------------------------------------------------------------------------
-void MenuBar::OnMenuClose()
-{
- RequestFocus();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose: Message map
-//-----------------------------------------------------------------------------
-void MenuBar::OnCursorEnteredMenuButton(int VPanel)
-{
- VPANEL menuButton = (VPANEL)VPanel;
- // see if we had a menu open
- for ( int i = 0; i < m_pMenuButtons.Count(); i++)
- {
- // one of our buttons was pressed.
- if (m_pMenuButtons[i]->IsDepressed())
- {
- int oldbutton = i;
- // now see if menuButton is one of ours.
- for ( int j = 0; j < m_pMenuButtons.Count(); j++)
- {
- MenuButton *button = static_cast<MenuButton *>(ipanel()->GetPanel(menuButton, GetModuleName()));
- // it is one of ours.
- if ( button == m_pMenuButtons[j])
- {
- // if its a different button than the one we already had open,
- if (j != oldbutton)
- {
- // close this menu and open the one we just entered
- m_pMenuButtons[oldbutton]->DoClick();
- button->DoClick();
- }
- }
- }
- }
- }
-}
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#include <vgui/IInput.h>
+#include <vgui/IPanel.h>
+#include <vgui/IScheme.h>
+#include <vgui/IBorder.h>
+#include <vgui/ISurface.h>
+#include <vgui/KeyCode.h>
+#include <KeyValues.h>
+
+#include <vgui_controls/MenuBar.h>
+#include <vgui_controls/MenuButton.h>
+#include <vgui_controls/Label.h>
+#include <vgui_controls/Controls.h>
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include <tier0/memdbgon.h>
+
+using namespace vgui;
+
+
+enum
+{
+ MENUBARINDENT = 4, // indent from top and bottom of panel.
+};
+
+DECLARE_BUILD_FACTORY( MenuBar );
+
+//-----------------------------------------------------------------------------
+// Purpose: Constructor
+//-----------------------------------------------------------------------------
+MenuBar::MenuBar(Panel *parent, const char *panelName) :
+ Panel(parent, panelName),
+ m_nRightEdge( 0 )
+{
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Destructor
+//-----------------------------------------------------------------------------
+MenuBar::~MenuBar()
+{
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void MenuBar::AddButton(MenuButton *button)
+{
+ button->SetParent(this);
+ button->AddActionSignalTarget(this);
+ m_pMenuButtons.AddToTail(button);
+}
+
+//-----------------------------------------------------------------------------
+// This will add the menu to the menu bar
+//-----------------------------------------------------------------------------
+void MenuBar::AddMenu( const char *pButtonName, Menu *pMenu )
+{
+ MenuButton *pMenuButton = new MenuButton(this, pButtonName, pButtonName);
+ pMenuButton->SetMenu(pMenu);
+ AddButton(pMenuButton);
+}
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Handle key presses, Activate shortcuts
+//-----------------------------------------------------------------------------
+void MenuBar::OnKeyCodeTyped(KeyCode code)
+{
+ switch(code)
+ {
+ case KEY_RIGHT:
+ {
+ // iterate the menu items looking for one that is open
+ // if we find one open, open the one to the right
+ for (int i = 0; i < m_pMenuButtons.Count() - 1; i++)
+ {
+ MenuButton *panel = m_pMenuButtons[i];
+ if (panel->IsDepressed())
+ {
+ m_pMenuButtons[i]->DoClick();
+ m_pMenuButtons[i+1]->DoClick();
+ break;
+ }
+ }
+ break;
+ }
+ case KEY_LEFT:
+ {
+ // iterate the menu items looking for one that is open
+ // if we find one open, open the one to the left
+ for (int i = 1; i < m_pMenuButtons.Count(); i++)
+ {
+ MenuButton *panel = m_pMenuButtons[i];
+ if (panel->IsDepressed())
+ {
+ m_pMenuButtons[i]->DoClick();
+ m_pMenuButtons[i-1]->DoClick();
+ break;
+ }
+ }
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+
+ // don't chain back
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Handle key presses, Activate shortcuts
+// Input : code -
+//-----------------------------------------------------------------------------
+void MenuBar::OnKeyTyped(wchar_t unichar)
+{
+ if (unichar)
+ {
+ // iterate the menu items looking for one with the matching hotkey
+ for (int i = 0; i < m_pMenuButtons.Count(); i++)
+ {
+ MenuButton *panel = m_pMenuButtons[i];
+ if (panel->IsVisible())
+ {
+ Panel *hot = panel->HasHotkey(unichar);
+ if (hot)
+ {
+ // post a message to the menuitem telling it it's hotkey was pressed
+ PostMessage(hot, new KeyValues("Hotkey"));
+ return;
+ }
+ }
+ }
+ }
+
+ // don't chain back
+}
+
+void MenuBar::Paint()
+{
+ IScheme *pScheme = scheme()->GetIScheme( GetScheme() );
+ for ( int i = 0; i < m_pMenuButtons.Count(); i++)
+ {
+ if (!m_pMenuButtons[i]->IsArmed())
+ m_pMenuButtons[i]->SetDefaultBorder(NULL);
+ else
+ {
+ m_pMenuButtons[i]->SetDefaultBorder(pScheme->GetBorder( "ButtonBorder"));
+ }
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Message map
+//-----------------------------------------------------------------------------
+void MenuBar::ApplySchemeSettings(IScheme *pScheme)
+{
+ BaseClass::ApplySchemeSettings(pScheme);
+
+ // get the borders we need
+ SetBorder(pScheme->GetBorder("ButtonBorder"));
+
+ // get the background color
+ SetBgColor(pScheme->GetColor( "MenuBar.BgColor", GetBgColor() ));
+
+}
+
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Reformat according to the new layout
+//-----------------------------------------------------------------------------
+void MenuBar::PerformLayout()
+{
+ int nBarWidth, nBarHeight;
+ GetSize( nBarWidth, nBarHeight );
+
+ // Now position + resize all buttons
+ int x = MENUBARINDENT;
+ for ( int i = 0; i < m_pMenuButtons.Count(); ++i )
+ {
+ int nWide, nTall;
+
+ m_pMenuButtons[i]->GetContentSize(nWide, nTall);
+ m_pMenuButtons[i]->SetPos( x, MENUBARINDENT );
+ m_pMenuButtons[i]->SetSize( nWide + Label::Content, nBarHeight - 2 * MENUBARINDENT );
+
+ x += nWide + MENUBARINDENT;
+ }
+
+ m_nRightEdge = x;
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Get the size of the menus in the bar (so other children can be added to menu bar)
+// Input : w -
+// int&h -
+//-----------------------------------------------------------------------------
+void MenuBar::GetContentSize( int& w, int&h )
+{
+ w = m_nRightEdge + 2;
+ h = GetTall();
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Message map
+//-----------------------------------------------------------------------------
+void MenuBar::OnMenuClose()
+{
+ RequestFocus();
+}
+
+//-----------------------------------------------------------------------------
+// Purpose: Message map
+//-----------------------------------------------------------------------------
+void MenuBar::OnCursorEnteredMenuButton(int VPanel)
+{
+ VPANEL menuButton = (VPANEL)VPanel;
+ // see if we had a menu open
+ for ( int i = 0; i < m_pMenuButtons.Count(); i++)
+ {
+ // one of our buttons was pressed.
+ if (m_pMenuButtons[i]->IsDepressed())
+ {
+ int oldbutton = i;
+ // now see if menuButton is one of ours.
+ for ( int j = 0; j < m_pMenuButtons.Count(); j++)
+ {
+ MenuButton *button = static_cast<MenuButton *>(ipanel()->GetPanel(menuButton, GetModuleName()));
+ // it is one of ours.
+ if ( button == m_pMenuButtons[j])
+ {
+ // if its a different button than the one we already had open,
+ if (j != oldbutton)
+ {
+ // close this menu and open the one we just entered
+ m_pMenuButtons[oldbutton]->DoClick();
+ button->DoClick();
+ }
+ }
+ }
+ }
+ }
+}