KiCad PCB EDA Suite
TEMPLATE_WIDGET Class Reference

#include <dialog_template_selector.h>

Inheritance diagram for TEMPLATE_WIDGET:
TEMPLATE_WIDGET_BASE

Public Member Functions

 TEMPLATE_WIDGET (wxWindow *aParent, DIALOG_TEMPLATE_SELECTOR *aDialog)
 
void SetTemplate (PROJECT_TEMPLATE *aTemplate)
 Set the project template for this widget, which will determine the icon and title associated with this project template widget. More...
 
PROJECT_TEMPLATEGetTemplate ()
 
void Select ()
 
void Unselect ()
 

Protected Member Functions

void OnKillFocus (wxFocusEvent &event)
 
void OnMouse (wxMouseEvent &event)
 

Protected Attributes

DIALOG_TEMPLATE_SELECTORm_dialog
 
wxWindow * m_parent
 
wxPanel * m_panel
 
bool m_selected
 
PROJECT_TEMPLATEm_currTemplate
 
wxStaticBitmap * m_bitmapIcon
 
wxStaticText * m_staticTitle
 

Private Member Functions

bool IsSelected ()
 

Detailed Description

Definition at line 33 of file dialog_template_selector.h.

Constructor & Destructor Documentation

◆ TEMPLATE_WIDGET()

TEMPLATE_WIDGET::TEMPLATE_WIDGET ( wxWindow *  aParent,
DIALOG_TEMPLATE_SELECTOR aDialog 
)

Definition at line 40 of file dialog_template_selector.cpp.

40  :
41  TEMPLATE_WIDGET_BASE( aParent )
42 {
43  m_parent = aParent;
44  m_dialog = aDialog;
45 
46  // wxWidgets_3.xx way of doing the same...
47  // Bind(wxEVT_LEFT_DOWN, &TEMPLATE_WIDGET::OnMouse, this );
48 
49  m_bitmapIcon->Connect( wxEVT_LEFT_DOWN,
50  wxMouseEventHandler( TEMPLATE_WIDGET::OnMouse ), NULL, this );
51  m_staticTitle->Connect( wxEVT_LEFT_DOWN,
52  wxMouseEventHandler( TEMPLATE_WIDGET::OnMouse ), NULL, this );
53 
54  // We're not selected until we're clicked
55  Unselect();
56 
57  // Start with template being NULL
58  m_currTemplate = NULL;
59 }
DIALOG_TEMPLATE_SELECTOR * m_dialog
PROJECT_TEMPLATE * m_currTemplate
TEMPLATE_WIDGET_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(74, 118), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
void OnMouse(wxMouseEvent &event)

References TEMPLATE_WIDGET_BASE::m_bitmapIcon, m_currTemplate, m_dialog, m_parent, TEMPLATE_WIDGET_BASE::m_staticTitle, OnMouse(), and Unselect().

Member Function Documentation

◆ GetTemplate()

PROJECT_TEMPLATE* TEMPLATE_WIDGET::GetTemplate ( )
inline

◆ IsSelected()

bool TEMPLATE_WIDGET::IsSelected ( )
inlineprivate

Definition at line 61 of file dialog_template_selector.h.

61 { return m_selected; }

References m_selected.

◆ OnKillFocus()

void TEMPLATE_WIDGET::OnKillFocus ( wxFocusEvent &  event)
protected

◆ OnMouse()

void TEMPLATE_WIDGET::OnMouse ( wxMouseEvent &  event)
protected

Definition at line 87 of file dialog_template_selector.cpp.

88 {
89  // Toggle selection here
90  Select();
91  event.Skip();
92 }

References Select().

Referenced by TEMPLATE_WIDGET().

◆ Select()

void TEMPLATE_WIDGET::Select ( )

Definition at line 62 of file dialog_template_selector.cpp.

63 {
64  m_dialog->SetWidget( this );
65  SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNHIGHLIGHT ) );
66  m_selected = true;
67  Refresh();
68 }
void Refresh()
Update the board display after modifying it by a python script (note: it is automatically called by a...
DIALOG_TEMPLATE_SELECTOR * m_dialog
void SetWidget(TEMPLATE_WIDGET *aWidget)

References m_dialog, m_selected, Refresh(), and DIALOG_TEMPLATE_SELECTOR::SetWidget().

Referenced by OnMouse().

◆ SetTemplate()

void TEMPLATE_WIDGET::SetTemplate ( PROJECT_TEMPLATE aTemplate)

Set the project template for this widget, which will determine the icon and title associated with this project template widget.

Definition at line 79 of file dialog_template_selector.cpp.

80 {
81  m_currTemplate = aTemplate;
82  m_staticTitle->SetLabel( *(aTemplate->GetTitle()) );
83  m_bitmapIcon->SetBitmap( *(aTemplate->GetIcon()) );
84 }
wxString * GetTitle()
Get the title of the project (extracted from the html title tag)
PROJECT_TEMPLATE * m_currTemplate
wxBitmap * GetIcon()
Get the 64px^2 icon for the project template.

References PROJECT_TEMPLATE::GetIcon(), PROJECT_TEMPLATE::GetTitle(), TEMPLATE_WIDGET_BASE::m_bitmapIcon, m_currTemplate, and TEMPLATE_WIDGET_BASE::m_staticTitle.

Referenced by DIALOG_TEMPLATE_SELECTOR::AddTemplate().

◆ Unselect()

void TEMPLATE_WIDGET::Unselect ( )

Definition at line 71 of file dialog_template_selector.cpp.

72 {
73  SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
74  m_selected = false;
75  Refresh();
76 }
void Refresh()
Update the board display after modifying it by a python script (note: it is automatically called by a...

References m_selected, and Refresh().

Referenced by DIALOG_TEMPLATE_SELECTOR::SetWidget(), and TEMPLATE_WIDGET().

Member Data Documentation

◆ m_bitmapIcon

wxStaticBitmap* TEMPLATE_WIDGET_BASE::m_bitmapIcon
protectedinherited

◆ m_currTemplate

PROJECT_TEMPLATE* TEMPLATE_WIDGET::m_currTemplate
protected

Definition at line 41 of file dialog_template_selector.h.

Referenced by GetTemplate(), SetTemplate(), and TEMPLATE_WIDGET().

◆ m_dialog

DIALOG_TEMPLATE_SELECTOR* TEMPLATE_WIDGET::m_dialog
protected

Definition at line 36 of file dialog_template_selector.h.

Referenced by Select(), and TEMPLATE_WIDGET().

◆ m_panel

wxPanel* TEMPLATE_WIDGET::m_panel
protected

Definition at line 38 of file dialog_template_selector.h.

◆ m_parent

wxWindow* TEMPLATE_WIDGET::m_parent
protected

Definition at line 37 of file dialog_template_selector.h.

Referenced by TEMPLATE_WIDGET().

◆ m_selected

bool TEMPLATE_WIDGET::m_selected
protected

Definition at line 39 of file dialog_template_selector.h.

Referenced by IsSelected(), Select(), and Unselect().

◆ m_staticTitle

wxStaticText* TEMPLATE_WIDGET_BASE::m_staticTitle
protectedinherited

The documentation for this class was generated from the following files: