Try to make window backgrounds the same on Windows.
Also reduces the use of auto.
This commit is contained in:
parent
c3c2af9cd0
commit
8777135d9f
|
@ -221,7 +221,7 @@ void DIALOG_MANAGE_REPOSITORIES::selectRow( int aRow )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_MANAGE_REPOSITORIES::SetData( const STRING_PAIR_LIST& aData )
|
||||
void DIALOG_MANAGE_REPOSITORIES::SetData( const std::vector<std::pair<wxString, wxString>>& aData )
|
||||
{
|
||||
m_grid->Freeze();
|
||||
|
||||
|
@ -240,14 +240,14 @@ void DIALOG_MANAGE_REPOSITORIES::SetData( const STRING_PAIR_LIST& aData )
|
|||
}
|
||||
|
||||
|
||||
STRING_PAIR_LIST DIALOG_MANAGE_REPOSITORIES::GetData()
|
||||
std::vector<std::pair<wxString, wxString>> DIALOG_MANAGE_REPOSITORIES::GetData()
|
||||
{
|
||||
STRING_PAIR_LIST result;
|
||||
std::vector<std::pair<wxString, wxString>> result;
|
||||
|
||||
for( int i = 0; i < m_grid->GetNumberRows(); i++ )
|
||||
{
|
||||
result.push_back(
|
||||
std::make_pair( m_grid->GetCellValue( i, 0 ), m_grid->GetCellValue( i, 1 ) ) );
|
||||
result.push_back( std::make_pair( m_grid->GetCellValue( i, 0 ),
|
||||
m_grid->GetCellValue( i, 1 ) ) );
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
|
@ -42,9 +42,12 @@ protected:
|
|||
public:
|
||||
/** Constructor */
|
||||
DIALOG_MANAGE_REPOSITORIES( wxWindow* parent, std::shared_ptr<PLUGIN_CONTENT_MANAGER> aPcm );
|
||||
|
||||
~DIALOG_MANAGE_REPOSITORIES();
|
||||
void SetData( const STRING_PAIR_LIST& aData );
|
||||
STRING_PAIR_LIST GetData();
|
||||
|
||||
void SetData( const std::vector<std::pair<wxString, wxString>>& aData );
|
||||
|
||||
std::vector<std::pair<wxString, wxString>> GetData();
|
||||
|
||||
private:
|
||||
void swapRows( int aRowA, int aRowB );
|
||||
|
|
|
@ -67,12 +67,12 @@ DIALOG_PCM::DIALOG_PCM( wxWindow* parent ) : DIALOG_PCM_BASE( parent )
|
|||
m_panelInstalledHolder->GetSizer()->Add( m_installedPanel, 1, wxEXPAND );
|
||||
m_panelInstalledHolder->Layout();
|
||||
|
||||
for( const auto& entry : PACKAGE_TYPE_LIST )
|
||||
for( const std::pair<PCM_PACKAGE_TYPE, wxString>& entry : PACKAGE_TYPE_LIST )
|
||||
{
|
||||
PANEL_PACKAGES_VIEW* panel = new PANEL_PACKAGES_VIEW( m_contentNotebook, m_pcm );
|
||||
wxString msg = wxGetTranslation( std::get<1>( entry ) );
|
||||
m_contentNotebook->AddPage( panel, wxString::Format( msg, 0 ) );
|
||||
m_repositoryContentPanels.insert( { std::get<0>( entry ), panel } );
|
||||
wxString label = wxGetTranslation( entry.second );
|
||||
m_contentNotebook->AddPage( panel, wxString::Format( label, 0 ) );
|
||||
m_repositoryContentPanels.insert( { entry.first, panel } );
|
||||
}
|
||||
|
||||
m_dialogNotebook->SetPageText( 0, wxString::Format( _( "Repository (%d)" ), 0 ) );
|
||||
|
@ -187,13 +187,11 @@ void DIALOG_PCM::OnManageRepositoriesClicked( wxCommandEvent& event )
|
|||
{
|
||||
DIALOG_MANAGE_REPOSITORIES* dialog = new DIALOG_MANAGE_REPOSITORIES( this, m_pcm );
|
||||
|
||||
STRING_PAIR_LIST dialog_data;
|
||||
STRING_TUPLE_LIST repo_list = m_pcm->GetRepositoryList();
|
||||
std::vector<std::pair<wxString, wxString>> dialog_data;
|
||||
std::vector<std::tuple<wxString, wxString, wxString>> repo_list = m_pcm->GetRepositoryList();
|
||||
|
||||
for( const auto& repo : repo_list )
|
||||
{
|
||||
for( const std::tuple<wxString, wxString, wxString>& repo : repo_list )
|
||||
dialog_data.push_back( std::make_pair( std::get<1>( repo ), std::get<2>( repo ) ) );
|
||||
}
|
||||
|
||||
dialog->SetData( dialog_data );
|
||||
|
||||
|
@ -216,11 +214,11 @@ void DIALOG_PCM::OnManageRepositoriesClicked( wxCommandEvent& event )
|
|||
|
||||
void DIALOG_PCM::setRepositoryListFromPcm()
|
||||
{
|
||||
STRING_TUPLE_LIST repositories = m_pcm->GetRepositoryList();
|
||||
std::vector<std::tuple<wxString, wxString, wxString>> repositories = m_pcm->GetRepositoryList();
|
||||
|
||||
m_choiceRepository->Clear();
|
||||
|
||||
for( const auto& entry : repositories )
|
||||
for( const std::tuple<wxString, wxString, wxString>& entry : repositories )
|
||||
{
|
||||
m_choiceRepository->Append( std::get<1>( entry ),
|
||||
new wxStringClientData( std::get<0>( entry ) ) );
|
||||
|
@ -299,7 +297,7 @@ void DIALOG_PCM::setRepositoryData( const wxString& aRepositoryId )
|
|||
|
||||
package_data.state = m_pcm->GetPackageState( aRepositoryId, pkg.identifier );
|
||||
|
||||
for( const auto& action : m_pendingActions )
|
||||
for( const PENDING_ACTION& action : m_pendingActions )
|
||||
{
|
||||
if( action.package.identifier != pkg.identifier )
|
||||
continue;
|
||||
|
@ -321,14 +319,14 @@ void DIALOG_PCM::setRepositoryData( const wxString& aRepositoryId )
|
|||
for( size_t i = 0; i < PACKAGE_TYPE_LIST.size(); i++ )
|
||||
{
|
||||
PCM_PACKAGE_TYPE type = PACKAGE_TYPE_LIST[i].first;
|
||||
const wxString& label = PACKAGE_TYPE_LIST[i].second;
|
||||
m_repositoryContentPanels[type]->SetData( data[type], m_callback );
|
||||
m_contentNotebook->SetPageText(
|
||||
i, wxString::Format( wxGetTranslation( PACKAGE_TYPE_LIST[i].second ),
|
||||
(int) data[type].size() ) );
|
||||
m_contentNotebook->SetPageText( i, wxString::Format( wxGetTranslation( label ),
|
||||
(int) data[type].size() ) );
|
||||
}
|
||||
|
||||
m_dialogNotebook->SetPageText(
|
||||
0, wxString::Format( _( "Repository (%d)" ), (int) packages.size() ) );
|
||||
m_dialogNotebook->SetPageText( 0, wxString::Format( _( "Repository (%d)" ),
|
||||
(int) packages.size() ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -363,7 +361,7 @@ void DIALOG_PCM::setInstalledPackages()
|
|||
|
||||
m_installedBitmaps = m_pcm->GetInstalledPackageBitmaps();
|
||||
|
||||
for( const auto& entry : installed )
|
||||
for( const PCM_INSTALLATION_ENTRY& entry : installed )
|
||||
{
|
||||
PACKAGE_VIEW_DATA package_data( entry );
|
||||
|
||||
|
@ -377,8 +375,8 @@ void DIALOG_PCM::setInstalledPackages()
|
|||
|
||||
m_installedPanel->SetData( package_list, m_callback );
|
||||
|
||||
m_dialogNotebook->SetPageText(
|
||||
1, wxString::Format( _( "Installed (%d)" ), (int) package_list.size() ) );
|
||||
m_dialogNotebook->SetPageText( 1, wxString::Format( _( "Installed (%d)" ),
|
||||
(int) package_list.size() ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -389,7 +387,7 @@ void DIALOG_PCM::OnApplyChangesClicked( wxCommandEvent& event )
|
|||
|
||||
PCM_TASK_MANAGER task_manager( m_pcm );
|
||||
|
||||
for( const auto& action : m_pendingActions )
|
||||
for( const PENDING_ACTION& action : m_pendingActions )
|
||||
{
|
||||
if( action.action == PPA_UNINSTALL )
|
||||
task_manager.Uninstall( action.package );
|
||||
|
@ -446,8 +444,8 @@ void DIALOG_PCM::discardAction( int aIndex )
|
|||
|
||||
PENDING_ACTION action = m_pendingActions[aIndex];
|
||||
|
||||
PCM_PACKAGE_STATE state =
|
||||
m_pcm->GetPackageState( action.repository_id, action.package.identifier );
|
||||
PCM_PACKAGE_STATE state = m_pcm->GetPackageState( action.repository_id,
|
||||
action.package.identifier );
|
||||
|
||||
m_installedPanel->SetPackageState( action.package.identifier, state );
|
||||
|
||||
|
|
|
@ -110,11 +110,13 @@ void PANEL_PACKAGE::OnButtonClicked( wxCommandEvent& event )
|
|||
|
||||
// If not found then find any compatible version
|
||||
if( ver_it == m_data.package.versions.end() )
|
||||
{
|
||||
ver_it = std::find_if( m_data.package.versions.begin(), m_data.package.versions.end(),
|
||||
[]( const PACKAGE_VERSION& ver )
|
||||
{
|
||||
return ver.compatible;
|
||||
} );
|
||||
}
|
||||
|
||||
if( ver_it == m_data.package.versions.end() )
|
||||
return; // Shouldn't happen
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
*/
|
||||
|
||||
#include "panel_packages_view.h"
|
||||
#include "bitmaps.h"
|
||||
#include "grid_tricks.h"
|
||||
#include "kicad_settings.h"
|
||||
#include "pgm_base.h"
|
||||
|
@ -72,6 +71,8 @@ PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW( wxWindow*
|
|||
false ) );
|
||||
}
|
||||
|
||||
m_packageListWindow->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg );
|
||||
m_infoScrollWindow->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg );
|
||||
m_infoText->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg );
|
||||
m_infoText->EnableVerticalScrollbar( false );
|
||||
|
||||
|
@ -184,17 +185,22 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa
|
|||
m_infoText->WriteText( wxString::Format( _( "Tags: %s\n" ), tags_str ) );
|
||||
}
|
||||
|
||||
const auto write_contact = [&]( const wxString& type, const PCM_CONTACT& contact )
|
||||
{
|
||||
m_infoText->WriteText( wxString::Format( "%s: %s\n", type, contact.name ) );
|
||||
const auto write_contact =
|
||||
[&]( const wxString& type, const PCM_CONTACT& contact )
|
||||
{
|
||||
m_infoText->WriteText( wxString::Format( "%s: %s\n", type, contact.name ) );
|
||||
|
||||
m_infoText->BeginLeftIndent( 60, 40 );
|
||||
m_infoText->BeginLeftIndent( 60, 40 );
|
||||
|
||||
for( const auto& entry : contact.contact )
|
||||
m_infoText->WriteText( wxString::Format( "%s: %s\n", entry.first, entry.second ) );
|
||||
for( const std::pair<const std::string, wxString>& entry : contact.contact )
|
||||
{
|
||||
m_infoText->WriteText( wxString::Format( "%s: %s\n",
|
||||
entry.first,
|
||||
entry.second ) );
|
||||
}
|
||||
|
||||
m_infoText->EndLeftIndent();
|
||||
};
|
||||
m_infoText->EndLeftIndent();
|
||||
};
|
||||
|
||||
write_contact( _( "Author" ), package.author );
|
||||
|
||||
|
@ -278,8 +284,8 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa
|
|||
m_sizerVersions->Show( true );
|
||||
m_sizerVersions->Layout();
|
||||
|
||||
wxSize size = m_scrolledWindow5->GetTargetWindow()->GetBestVirtualSize();
|
||||
m_scrolledWindow5->SetVirtualSize( size );
|
||||
wxSize size = m_infoScrollWindow->GetTargetWindow()->GetBestVirtualSize();
|
||||
m_infoScrollWindow->SetVirtualSize( size );
|
||||
}
|
||||
|
||||
|
||||
|
@ -288,8 +294,8 @@ void PANEL_PACKAGES_VIEW::unsetPackageDetails()
|
|||
m_infoText->ChangeValue( wxEmptyString );
|
||||
m_sizerVersions->Show( false );
|
||||
|
||||
wxSize size = m_scrolledWindow5->GetTargetWindow()->GetBestVirtualSize();
|
||||
m_scrolledWindow5->SetVirtualSize( size );
|
||||
wxSize size = m_infoScrollWindow->GetTargetWindow()->GetBestVirtualSize();
|
||||
m_infoScrollWindow->SetVirtualSize( size );
|
||||
|
||||
// Clean up grid just so we don't keep stale info around (it's already been hidden).
|
||||
m_gridVersions->Freeze();
|
||||
|
@ -345,7 +351,7 @@ void PANEL_PACKAGES_VIEW::OnVersionsCellClicked( wxGridEvent& event )
|
|||
|
||||
void PANEL_PACKAGES_VIEW::OnDownloadVersionClicked( wxCommandEvent& event )
|
||||
{
|
||||
const auto rows = m_gridVersions->GetSelectedRows();
|
||||
const wxArrayInt rows = m_gridVersions->GetSelectedRows();
|
||||
|
||||
if( !m_currentSelected || rows.size() != 1 )
|
||||
{
|
||||
|
@ -423,7 +429,7 @@ void PANEL_PACKAGES_VIEW::OnDownloadVersionClicked( wxCommandEvent& event )
|
|||
|
||||
void PANEL_PACKAGES_VIEW::OnInstallVersionClicked( wxCommandEvent& event )
|
||||
{
|
||||
const auto rows = m_gridVersions->GetSelectedRows();
|
||||
const wxArrayInt rows = m_gridVersions->GetSelectedRows();
|
||||
|
||||
if( !m_currentSelected || rows.size() != 1 )
|
||||
{
|
||||
|
@ -511,7 +517,7 @@ void PANEL_PACKAGES_VIEW::updatePackageList()
|
|||
wxSizer* sizer = m_packageListWindow->GetSizer();
|
||||
sizer->Clear( false ); // Don't delete panels
|
||||
|
||||
for( const auto& pair : package_ranks )
|
||||
for( const std::pair<int, int>& pair : package_ranks )
|
||||
{
|
||||
PANEL_PACKAGE* panel = m_packagePanels[m_packageInitialOrder[pair.second]];
|
||||
|
||||
|
|
|
@ -49,12 +49,12 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
|
|||
wxBoxSizer* bPanelDetailsSizer;
|
||||
bPanelDetailsSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_scrolledWindow5 = new wxScrolledWindow( m_panelDetails, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
|
||||
m_scrolledWindow5->SetScrollRate( 5, 5 );
|
||||
m_infoScrollWindow = new wxScrolledWindow( m_panelDetails, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
|
||||
m_infoScrollWindow->SetScrollRate( 5, 5 );
|
||||
wxBoxSizer* bSizerScrolledWindow;
|
||||
bSizerScrolledWindow = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_infoText = new wxRichTextCtrl( m_scrolledWindow5, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_URL );
|
||||
m_infoText = new wxRichTextCtrl( m_infoScrollWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_URL );
|
||||
m_infoText->Enable( false );
|
||||
m_infoText->SetMinSize( wxSize( -1,300 ) );
|
||||
|
||||
|
@ -62,7 +62,7 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
|
|||
|
||||
m_sizerVersions = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_gridVersions = new WX_GRID( m_scrolledWindow5, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_gridVersions = new WX_GRID( m_infoScrollWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
||||
// Grid
|
||||
m_gridVersions->CreateGrid( 0, 5 );
|
||||
|
@ -97,16 +97,16 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
|
|||
wxBoxSizer* bSizerVersionButtons;
|
||||
bSizerVersionButtons = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_showAllVersions = new wxCheckBox( m_scrolledWindow5, wxID_ANY, _("Show all versions"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_showAllVersions = new wxCheckBox( m_infoScrollWindow, wxID_ANY, _("Show all versions"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerVersionButtons->Add( m_showAllVersions, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
|
||||
|
||||
|
||||
bSizerVersionButtons->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_buttonDownload = new wxButton( m_scrolledWindow5, wxID_ANY, _("Download"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_buttonDownload = new wxButton( m_infoScrollWindow, wxID_ANY, _("Download"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerVersionButtons->Add( m_buttonDownload, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
m_buttonInstall = new wxButton( m_scrolledWindow5, wxID_ANY, _("Install"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_buttonInstall = new wxButton( m_infoScrollWindow, wxID_ANY, _("Install"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerVersionButtons->Add( m_buttonInstall, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
|
||||
|
@ -116,10 +116,10 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
|
|||
bSizerScrolledWindow->Add( m_sizerVersions, 0, wxEXPAND|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
|
||||
m_scrolledWindow5->SetSizer( bSizerScrolledWindow );
|
||||
m_scrolledWindow5->Layout();
|
||||
bSizerScrolledWindow->Fit( m_scrolledWindow5 );
|
||||
bPanelDetailsSizer->Add( m_scrolledWindow5, 1, wxEXPAND, 5 );
|
||||
m_infoScrollWindow->SetSizer( bSizerScrolledWindow );
|
||||
m_infoScrollWindow->Layout();
|
||||
bSizerScrolledWindow->Fit( m_infoScrollWindow );
|
||||
bPanelDetailsSizer->Add( m_infoScrollWindow, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_panelDetails->SetSizer( bPanelDetailsSizer );
|
||||
|
@ -134,7 +134,7 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
|
|||
bSizer1->Fit( this );
|
||||
|
||||
// Connect Events
|
||||
m_scrolledWindow5->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
|
||||
m_infoScrollWindow->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
|
||||
m_gridVersions->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( PANEL_PACKAGES_VIEW_BASE::OnVersionsCellClicked ), NULL, this );
|
||||
m_showAllVersions->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this );
|
||||
m_buttonDownload->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnDownloadVersionClicked ), NULL, this );
|
||||
|
@ -144,7 +144,7 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
|
|||
PANEL_PACKAGES_VIEW_BASE::~PANEL_PACKAGES_VIEW_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
m_scrolledWindow5->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
|
||||
m_infoScrollWindow->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
|
||||
m_gridVersions->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( PANEL_PACKAGES_VIEW_BASE::OnVersionsCellClicked ), NULL, this );
|
||||
m_showAllVersions->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this );
|
||||
m_buttonDownload->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnDownloadVersionClicked ), NULL, this );
|
||||
|
|
|
@ -401,7 +401,7 @@
|
|||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size">-1,-1</property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_scrolledWindow5</property>
|
||||
<property name="name">m_infoScrollWindow</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
|
|
|
@ -45,7 +45,7 @@ class PANEL_PACKAGES_VIEW_BASE : public wxPanel
|
|||
wxSearchCtrl* m_searchCtrl;
|
||||
wxScrolledWindow* m_packageListWindow;
|
||||
wxPanel* m_panelDetails;
|
||||
wxScrolledWindow* m_scrolledWindow5;
|
||||
wxScrolledWindow* m_infoScrollWindow;
|
||||
wxRichTextCtrl* m_infoText;
|
||||
wxBoxSizer* m_sizerVersions;
|
||||
WX_GRID* m_gridVersions;
|
||||
|
|
Loading…
Reference in New Issue