You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.3 KiB
120 lines
3.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
#include "DemoPage.h"
|
|
|
|
#include <VGUI/IVGui.h>
|
|
#include <vgui_controls/Controls.h>
|
|
#include <Keyvalues.h>
|
|
#include <vgui_controls/SectionedListPanel.h>
|
|
|
|
|
|
using namespace vgui;
|
|
|
|
|
|
class SampleListPanelBoth: public DemoPage
|
|
{
|
|
public:
|
|
SampleListPanelBoth(Panel *parent, const char *name);
|
|
~SampleListPanelBoth();
|
|
|
|
void onButtonClicked();
|
|
|
|
private:
|
|
SectionedListPanel *m_pSectionedListPanel;
|
|
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Constructor
|
|
//-----------------------------------------------------------------------------
|
|
SampleListPanelBoth::SampleListPanelBoth(Panel *parent, const char *name) : DemoPage(parent, name)
|
|
{
|
|
// Create a list panel.
|
|
m_pSectionedListPanel = new SectionedListPanel(this, "AListPanel");
|
|
|
|
// Add a new section
|
|
m_pSectionedListPanel->addSection(0, "LIST ITEMS");
|
|
m_pSectionedListPanel->addColumnToSection(0, "items", SectionedListPanel::COLUMN_TEXT);
|
|
|
|
// Add items to the list
|
|
KeyValues *data = new KeyValues ("items");
|
|
data->SetString("items", "Many actions");
|
|
m_pSectionedListPanel->addItem(0, 0, data);
|
|
|
|
data->SetString("items", "Performed on");
|
|
m_pSectionedListPanel->addItem(1, 0, data);
|
|
|
|
data->SetString("items", "List items can");
|
|
m_pSectionedListPanel->addItem(2, 0, data);
|
|
|
|
data->SetString("items", "Only be accessed");
|
|
m_pSectionedListPanel->addItem(3, 0, data);
|
|
|
|
data->SetString("items", "Using the right-");
|
|
m_pSectionedListPanel->addItem(4, 0, data);
|
|
|
|
data->SetString("items", "Click menu");
|
|
m_pSectionedListPanel->addItem(5, 0, data);
|
|
|
|
// Add a new section
|
|
m_pSectionedListPanel->addSection(1, "RIGHT CLICK");
|
|
m_pSectionedListPanel->addColumnToSection(0, "items", SectionedListPanel::COLUMN_TEXT);
|
|
|
|
// Add items to the list
|
|
data->SetString("items", "Right-click the item");
|
|
m_pSectionedListPanel->addItem(10, 1, data);
|
|
|
|
data->SetString("items", "To access its");
|
|
m_pSectionedListPanel->addItem(11, 1, data);
|
|
|
|
data->SetString("items", "List of associated");
|
|
m_pSectionedListPanel->addItem(12, 1, data);
|
|
|
|
data->SetString("items", "Commands");
|
|
m_pSectionedListPanel->addItem(13, 1, data);
|
|
|
|
|
|
// Add a new section
|
|
m_pSectionedListPanel->addSection(2, "RIGHT CLICK");
|
|
m_pSectionedListPanel->addColumnToSection(2, "items", SectionedListPanel::COLUMN_TEXT);
|
|
|
|
// Add items to the list
|
|
data->SetString("items", "Right-click the item");
|
|
m_pSectionedListPanel->addItem(10, 2, data);
|
|
|
|
data->SetString("items", "To access its");
|
|
m_pSectionedListPanel->addItem(11, 2, data);
|
|
|
|
data->SetString("items", "List of associated");
|
|
m_pSectionedListPanel->addItem(12, 2, data);
|
|
|
|
data->SetString("items", "Commands");
|
|
m_pSectionedListPanel->addItem(13, 2, data);
|
|
|
|
|
|
// Set its position.
|
|
m_pSectionedListPanel->setPos(90, 25);
|
|
m_pSectionedListPanel->setSize(200, 150);
|
|
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Destructor
|
|
//-----------------------------------------------------------------------------
|
|
SampleListPanelBoth::~SampleListPanelBoth()
|
|
{
|
|
}
|
|
|
|
|
|
|
|
|
|
Panel* SampleListPanelBoth_Create(Panel *parent)
|
|
{
|
|
return new SampleListPanelBoth(parent, "List Panel - categories");
|
|
}
|
|
|
|
|