Pcbnew: improve add existing footprint library browser and button

CHANGED: Modify Add Existing Footprint Library button to us OS file/directory browsers
This commit is contained in:
Mark Roszko 2020-01-03 15:09:26 +00:00 committed by Ian McInerney
parent 4bab82e149
commit 49db816c82
9 changed files with 573 additions and 681 deletions

View File

@ -197,6 +197,7 @@ set( COMMON_WIDGET_SRCS
widgets/mathplot.cpp widgets/mathplot.cpp
widgets/paged_dialog.cpp widgets/paged_dialog.cpp
widgets/progress_reporter.cpp widgets/progress_reporter.cpp
widgets/split_button.cpp
widgets/stepped_slider.cpp widgets/stepped_slider.cpp
widgets/text_ctrl_eval.cpp widgets/text_ctrl_eval.cpp
widgets/two_column_tree_list.cpp widgets/two_column_tree_list.cpp

View File

@ -0,0 +1,255 @@
/*
* This program source code file is part of KICAD, a free EDA CAD application.
*
* Copyright (C) 2020 Kicad Developers, see AUTHORS.txt for contributors.
* Copyright (C) 2016 Anil8735(https://stackoverflow.com/users/3659387/anil8753) from https://stackoverflow.com/a/37274011
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <widgets/split_button.h>
#include <wx/button.h>
#include <wx/dcclient.h>
#include <wx/dcmemory.h>
#include <wx/menu.h>
#include <wx/renderer.h>
SPLIT_BUTTON::SPLIT_BUTTON( wxWindow* aParent, wxWindowID aId, const wxString& aLabel,
const wxPoint& aPos, const wxSize& aSize )
: wxPanel( aParent, aId, aPos, aSize, wxBORDER_NONE | wxTAB_TRAVERSAL, "DropDownButton" ),
m_label( aLabel )
{
m_colorNormal = GetForegroundColour();
m_colorDisabled = GetForegroundColour().MakeDisabled();
if( aSize == wxDefaultSize )
{
wxSize defaultSize = wxButton::GetDefaultSize();
wxSize textSize = GetTextExtent( m_label );
SetMinSize( wxSize( textSize.GetWidth(), defaultSize.GetHeight() ) );
}
Bind( wxEVT_PAINT, &SPLIT_BUTTON::OnPaint, this );
Bind( wxEVT_LEFT_UP, &SPLIT_BUTTON::OnLeftButtonUp, this );
Bind( wxEVT_LEFT_DOWN, &SPLIT_BUTTON::OnLeftButtonDown, this );
Bind( wxEVT_KILL_FOCUS, &SPLIT_BUTTON::OnKillFocus, this );
Bind( wxEVT_LEAVE_WINDOW, &SPLIT_BUTTON::OnMouseLeave, this );
Bind( wxEVT_ENTER_WINDOW, &SPLIT_BUTTON::OnMouseEnter, this );
m_pMenu = new wxMenu();
}
SPLIT_BUTTON::~SPLIT_BUTTON()
{
delete m_pMenu;
m_pMenu = nullptr;
}
void SPLIT_BUTTON::SetMinSize( const wxSize& aSize )
{
m_unadjustedMinSize = aSize;
wxPanel::SetMinSize( wxSize( aSize.GetWidth() + m_arrowButtonWidth + m_widthPadding, aSize.GetHeight() ) );
}
void SPLIT_BUTTON::SetWidthPadding( int aPadding )
{
m_widthPadding = aPadding;
SetMinSize( m_unadjustedMinSize );
}
void SPLIT_BUTTON::SetBitmap( const wxBitmap& aBmp )
{
m_bitmap = aBmp;
SetMinSize( wxSize( m_bitmap.GetWidth(), m_bitmap.GetHeight() ) );
}
wxMenu* SPLIT_BUTTON::GetSplitButtonMenu()
{
return m_pMenu;
}
void SPLIT_BUTTON::OnKillFocus( wxFocusEvent& aEvent )
{
m_stateButton = wxCONTROL_CURRENT;
m_stateMenu = wxCONTROL_CURRENT;
Refresh();
aEvent.Skip();
}
void SPLIT_BUTTON::OnMouseLeave( wxMouseEvent& aEvent )
{
m_stateButton = 0;
m_stateMenu = 0;
Refresh();
aEvent.Skip();
}
void SPLIT_BUTTON::OnMouseEnter( wxMouseEvent& aEvent )
{
m_stateButton = wxCONTROL_CURRENT;
m_stateMenu = wxCONTROL_CURRENT;
Refresh();
aEvent.Skip();
}
void SPLIT_BUTTON::OnLeftButtonUp( wxMouseEvent& aEvent )
{
m_stateButton = 0;
m_stateMenu = 0;
Refresh();
int x = -1;
int y = -1;
aEvent.GetPosition( &x, &y );
if( x < ( GetSize().GetWidth() - m_arrowButtonWidth ) )
{
wxEvtHandler* pEventHandler = GetEventHandler();
wxASSERT( pEventHandler );
pEventHandler->CallAfter( [=]() {
wxCommandEvent evt( wxEVT_BUTTON, this->GetId() );
evt.SetEventObject( this );
GetEventHandler()->ProcessEvent( evt );
} );
}
m_bLButtonDown = false;
aEvent.Skip();
}
void SPLIT_BUTTON::OnLeftButtonDown( wxMouseEvent& aEvent )
{
m_bLButtonDown = true;
int x = -1;
int y = -1;
aEvent.GetPosition( &x, &y );
if( x >= ( GetSize().GetWidth() - m_arrowButtonWidth ) )
{
m_stateButton = 0;
m_stateMenu = wxCONTROL_PRESSED;
Refresh();
wxSize size = GetSize();
wxPoint position;
position.x = 0;
position.y = size.GetHeight();
PopupMenu( m_pMenu, position );
m_stateMenu = 0;
Refresh();
}
else
{
m_stateButton = wxCONTROL_PRESSED;
m_stateMenu = wxCONTROL_PRESSED;
Refresh();
}
aEvent.Skip();
}
void SPLIT_BUTTON::OnPaint( wxPaintEvent& WXUNUSED( aEvent ) )
{
wxPaintDC dc( this );
wxSize size = GetSize();
const int width = size.GetWidth() - m_arrowButtonWidth;
// Draw first part of button
wxRect r1;
r1.x = 0;
r1.y = 0;
r1.width = width + 2;
r1.height = size.GetHeight();
wxRendererNative::Get().DrawPushButton( this, dc, r1, m_stateButton );
SetForegroundColour( m_bIsEnable ? m_colorNormal : m_colorDisabled );
if( m_bitmap.IsOk() )
{
wxMemoryDC mdc( m_bitmap );
r1.x = ( width - m_bitmap.GetWidth() ) / 2;
if( r1.x < 0 )
r1.x = 0;
r1.y += ( size.GetHeight() - m_bitmap.GetHeight() ) / 2;
dc.Blit( wxPoint( r1.x, r1.y ), m_bitmap.GetSize(), &mdc, wxPoint( 0, 0 ), wxCOPY, true );
}
else
{
r1.y += ( size.GetHeight() - GetCharHeight() ) / 2;
dc.DrawLabel( m_label, r1, wxALIGN_CENTER_HORIZONTAL );
}
// Draw second part of button
wxRect r2;
r2.x = width - 2;
r2.y = 0;
r2.width = m_arrowButtonWidth;
r2.height = size.GetHeight();
wxRendererNative::Get().DrawPushButton( this, dc, r2, m_stateMenu );
wxRendererNative::Get().DrawDropArrow( this, dc, r2, m_stateMenu );
}
bool SPLIT_BUTTON::Enable( bool aEnable )
{
m_bIsEnable = aEnable;
wxPanel::Enable( m_bIsEnable );
if( m_bIsEnable )
{
m_stateButton = 0;
m_stateMenu = 0;
}
else
{
m_stateButton = wxCONTROL_DISABLED;
m_stateMenu = wxCONTROL_DISABLED;
}
wxPaintEvent event;
ProcessEvent( event );
Refresh();
return aEnable;
}

View File

@ -0,0 +1,72 @@
/*
* This program source code file is part of KICAD, a free EDA CAD application.
*
* Copyright (C) 2020 Kicad Developers, see AUTHORS.txt for contributors.
* Copyright (C) 2016 Anil8735(https://stackoverflow.com/users/3659387/anil8753) from https://stackoverflow.com/a/37274011
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __SPLIT_BUTTON_H__
#define __SPLIT_BUTTON_H__
#include <wx/bitmap.h>
#include <wx/panel.h>
class wxButton;
class wxMenu;
class SPLIT_BUTTON : public wxPanel
{
public:
SPLIT_BUTTON( wxWindow* aParent, wxWindowID aId, const wxString& aLabel,
const wxPoint& aPos = wxDefaultPosition, const wxSize& aSize = wxDefaultSize );
~SPLIT_BUTTON();
wxMenu* GetSplitButtonMenu();
void SetBitmap( const wxBitmap& aBmp );
void SetMinSize( const wxSize& aSize ) override;
void SetWidthPadding( int aPadding );
protected:
void OnKillFocus( wxFocusEvent& aEvent );
void OnMouseLeave( wxMouseEvent& aEvent );
void OnMouseEnter( wxMouseEvent& aEvent );
void OnLeftButtonUp( wxMouseEvent& aEvent );
void OnLeftButtonDown( wxMouseEvent& aEvent );
void OnPaint( wxPaintEvent& WXUNUSED( aEvent ) );
bool Enable( bool aEnable = true ) override;
private:
int m_stateButton = 0;
int m_stateMenu = 0;
bool m_bIsEnable = true;
wxColor m_colorNormal;
wxColor m_colorDisabled;
const int m_arrowButtonWidth = 20;
int m_widthPadding = 20;
bool m_bLButtonDown = false;
wxString m_label;
wxMenu* m_pMenu = nullptr;
wxBitmap m_bitmap;
wxSize m_unadjustedMinSize;
};
#endif /*__SPLIT_BUTTON_H__*/

View File

@ -59,55 +59,28 @@
#include <kiway.h> #include <kiway.h>
#include <widgets/grid_readonly_text_helpers.h> #include <widgets/grid_readonly_text_helpers.h>
#include <widgets/grid_text_button_helpers.h> #include <widgets/grid_text_button_helpers.h>
#include <pcbnew_id.h>
// Filters for the file picker // clang-format off
static constexpr int FILTER_COUNT = 4; struct supportedFileType
static const struct
{ {
wxString m_Description; ///< Description shown in the file picker dialog wxString m_Description; ///< Description shown in the file picker dialog
wxString m_Extension; ///< In case of folders it stands for extensions of files stored inside wxString m_FileFilter; ///< In case of folders it stands for extensions of files stored inside
bool m_IsFile; ///< Whether the library is a folder or a file bool m_IsFile; ///< Whether the library is a folder or a file
IO_MGR::PCB_FILE_T m_Plugin; IO_MGR::PCB_FILE_T m_Plugin;
} fileFilters[FILTER_COUNT] =
{
// wxGenericDirCtrl does not handle regexes in wildcards
{ "KiCad (folder with .kicad_mod files)", "", false, IO_MGR::KICAD_SEXP },
{ "Eagle 6.x (*.lbr)", "lbr", true, IO_MGR::EAGLE },
{ "KiCad legacy (*.mod)", "mod", true, IO_MGR::LEGACY },
{ "Geda (folder with *.fp files)", "", false, IO_MGR::GEDA_PCB },
}; };
/*
// Returns the filter string for the file picker * Map of event id as key to the file type struct
static wxString getFilterString() */
static const std::map<int, supportedFileType> fileTypes =
{ {
wxString filterAll = _( "All supported library formats|" ); { ID_PANEL_FPLIB_ADD_KICADMOD, { "KiCad (folder with .kicad_mod files)", "", false, IO_MGR::KICAD_SEXP } },
bool firstFilterAll = true; { ID_PANEL_FPLIB_ADD_EAGLE6, { "Eagle 6.x (*.lbr)", EagleFootprintLibPathWildcard(), true, IO_MGR::EAGLE } },
wxString filter; { ID_PANEL_FPLIB_ADD_KICADLEGACY, { "KiCad legacy (*.mod)", LegacyFootprintLibPathWildcard(), true, IO_MGR::LEGACY } },
{ ID_PANEL_FPLIB_ADD_GEDA, { "Geda (folder with *.fp files)", "", false, IO_MGR::GEDA_PCB } },
for( int i = 0; i < FILTER_COUNT; ++i ) };
{ // clang-format on
if( fileFilters[i].m_IsFile )
{
// "All supported formats" filter
if( firstFilterAll )
firstFilterAll = false;
else
filterAll += ";";
wxASSERT( !fileFilters[i].m_Extension.IsEmpty() );
filterAll += "*." + fileFilters[i].m_Extension;
}
// Individual filter strings
filter += "|" + fileFilters[i].m_Description +
"|" + ( fileFilters[i].m_IsFile ? "*." + fileFilters[i].m_Extension : "" );
}
return filterAll + filter;
}
/** /**
* This class builds a wxGridTableBase by wrapping an #FP_LIB_TABLE object. * This class builds a wxGridTableBase by wrapping an #FP_LIB_TABLE object.
@ -352,11 +325,15 @@ PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE( DIALOG_EDIT_LIBRARY_TABLES* aParent,
// Configure button logos // Configure button logos
m_append_button->SetBitmap( KiBitmap( small_plus_xpm ) ); m_append_button->SetBitmap( KiBitmap( small_plus_xpm ) );
m_browse_button->SetBitmap( KiBitmap( folder_xpm ) );
m_delete_button->SetBitmap( KiBitmap( trash_xpm ) ); m_delete_button->SetBitmap( KiBitmap( trash_xpm ) );
m_move_up_button->SetBitmap( KiBitmap( small_up_xpm ) ); m_move_up_button->SetBitmap( KiBitmap( small_up_xpm ) );
m_move_down_button->SetBitmap( KiBitmap( small_down_xpm ) ); m_move_down_button->SetBitmap( KiBitmap( small_down_xpm ) );
m_browseButton->SetBitmap( KiBitmap( folder_xpm ) );
// We must set the size to match the other bitmaps manually
m_browseButton->SetWidthPadding( 4 );
m_browseButton->SetMinSize( wxSize( 30, 30 ) );
// Gives a selection to each grid, mainly for delete button. wxGrid's wake up with // Gives a selection to each grid, mainly for delete button. wxGrid's wake up with
// a currentCell which is sometimes not highlighted. // a currentCell which is sometimes not highlighted.
if( m_global_grid->GetNumberRows() > 0 ) if( m_global_grid->GetNumberRows() > 0 )
@ -364,6 +341,19 @@ PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE( DIALOG_EDIT_LIBRARY_TABLES* aParent,
if( m_project_grid->GetNumberRows() > 0 ) if( m_project_grid->GetNumberRows() > 0 )
m_project_grid->SelectRow( 0 ); m_project_grid->SelectRow( 0 );
// Populate the browse library options
wxMenu* browseMenu = m_browseButton->GetSplitButtonMenu();
for( auto& fileType : fileTypes )
{
browseMenu->Append( fileType.first, fileType.second.m_Description );
browseMenu->Bind( wxEVT_COMMAND_MENU_SELECTED, &PANEL_FP_LIB_TABLE::browseLibrariesHandler,
this, fileType.first );
}
// This is the button only press for the browse button instead of the menu
m_browseButton->Bind( wxEVT_BUTTON, &PANEL_FP_LIB_TABLE::browseLibrariesHandler, this );
} }
@ -612,44 +602,89 @@ void PANEL_FP_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event )
if( !m_cur_grid->CommitPendingChanges() ) if( !m_cur_grid->CommitPendingChanges() )
return; return;
std::map<int, supportedFileType>::const_iterator fileTypeIt;
// We are bound both to the menu and button with this one handler
// So we must set the file type based on it
if( event.GetEventType() == wxEVT_BUTTON )
{
// Let's default to adding a kicad module for just the module
fileTypeIt = fileTypes.find( ID_PANEL_FPLIB_ADD_KICADMOD );
}
else
{
fileTypeIt = fileTypes.find( event.GetId() );
}
if( fileTypeIt == fileTypes.end() )
{
wxLogWarning( "File type selection event received but could not find the file type in the table" );
return;
}
supportedFileType fileType = fileTypeIt->second;
if( m_lastBrowseDir.IsEmpty() ) if( m_lastBrowseDir.IsEmpty() )
m_lastBrowseDir = m_projectBasePath; m_lastBrowseDir = m_projectBasePath;
DIALOG_FILE_DIR_PICKER dlg( this, _( "Select Library" ), m_lastBrowseDir, wxArrayString files;
getFilterString(), FD_MULTIPLE );
auto result = dlg.ShowModal(); wxString title;
if( result == wxID_CANCEL ) title.Printf( _( "Select %s Library" ), fileType.m_Description );
return;
m_lastBrowseDir = dlg.GetDirectory(); if( fileType.m_IsFile )
{
wxFileDialog dlg( this, title, m_lastBrowseDir, wxEmptyString,
fileType.m_FileFilter, wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE );
int result = dlg.ShowModal();
if( result == wxID_CANCEL )
return;
dlg.GetPaths( files );
m_lastBrowseDir = dlg.GetDirectory();
}
else
{
wxDirDialog dlg( nullptr, title, m_lastBrowseDir,
wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST );
int result = dlg.ShowModal();
if( result == wxID_CANCEL )
return;
files.Add( dlg.GetPath() );
m_lastBrowseDir = dlg.GetPath();
}
// Drop the last directory if the path is a .pretty folder // Drop the last directory if the path is a .pretty folder
if( m_lastBrowseDir.EndsWith( KiCadFootprintLibPathExtension ) ) if( m_lastBrowseDir.EndsWith( KiCadFootprintLibPathExtension ) )
m_lastBrowseDir = m_lastBrowseDir.BeforeLast( wxFileName::GetPathSeparator() ); m_lastBrowseDir = m_lastBrowseDir.BeforeLast( wxFileName::GetPathSeparator() );
const ENV_VAR_MAP& envVars = Pgm().GetLocalEnvVariables(); const ENV_VAR_MAP& envVars = Pgm().GetLocalEnvVariables();
bool addDuplicates = false; bool addDuplicates = false;
bool applyToAll = false; bool applyToAll = false;
wxString warning = _( "Warning: Duplicate Nickname" ); wxString warning = _( "Warning: Duplicate Nickname" );
wxString msg = _( "A library nicknamed \"%s\" already exists." ); wxString msg = _( "A library nicknamed \"%s\" already exists." );
wxArrayString files;
dlg.GetFilenames( files );
for( const auto& filePath : files ) for( const auto& filePath : files )
{ {
wxFileName fn( filePath ); wxFileName fn( filePath );
wxString nickname = LIB_ID::FixIllegalChars( fn.GetName(), LIB_ID::ID_PCB ); wxString nickname = LIB_ID::FixIllegalChars( fn.GetName(), LIB_ID::ID_PCB );
bool doAdd = true; bool doAdd = true;
if( cur_model()->ContainsNickname( nickname ) ) if( cur_model()->ContainsNickname( nickname ) )
{ {
if( !applyToAll ) if( !applyToAll )
{ {
int ret = OKOrCancelDialog( this, warning, wxString::Format( msg, nickname ), int ret = OKOrCancelDialog( this, warning, wxString::Format( msg, nickname ),
_( "Skip" ), _( "Add Anyway" ), &applyToAll ); _( "Skip" ), _( "Add Anyway" ), &applyToAll );
addDuplicates = (ret == wxID_CANCEL ); addDuplicates = ( ret == wxID_CANCEL );
} }
doAdd = addDuplicates; doAdd = addDuplicates;
@ -661,15 +696,14 @@ void PANEL_FP_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event )
m_cur_grid->SetCellValue( last_row, COL_NICKNAME, nickname ); m_cur_grid->SetCellValue( last_row, COL_NICKNAME, nickname );
auto type = IO_MGR::GuessPluginTypeFromLibPath( filePath ); m_cur_grid->SetCellValue( last_row, COL_TYPE, IO_MGR::ShowType( fileType.m_Plugin ) );
m_cur_grid->SetCellValue( last_row, COL_TYPE, IO_MGR::ShowType( type ) );
// try to use path normalized to an environmental variable or project path // try to use path normalized to an environmental variable or project path
wxString path = NormalizePath( filePath, &envVars, m_projectBasePath ); wxString path = NormalizePath( filePath, &envVars, m_projectBasePath );
// Do not use the project path in the global library table. This will almost // Do not use the project path in the global library table. This will almost
// assuredly be wrong for a different project. // assuredly be wrong for a different project.
if( path.IsEmpty() || (m_pageNdx == 0 && path.Contains( "${KIPRJMOD}" )) ) if( path.IsEmpty() || ( m_pageNdx == 0 && path.Contains( "${KIPRJMOD}" ) ) )
path = fn.GetFullPath(); path = fn.GetFullPath();
m_cur_grid->SetCellValue( last_row, COL_URI, path ); m_cur_grid->SetCellValue( last_row, COL_URI, path );
@ -684,6 +718,7 @@ void PANEL_FP_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event )
} }
} }
void PANEL_FP_LIB_TABLE::adjustPathSubsGridColumns( int aWidth ) void PANEL_FP_LIB_TABLE::adjustPathSubsGridColumns( int aWidth )
{ {
// Account for scroll bars // Account for scroll bars

View File

@ -53,7 +53,7 @@ private:
void pageChangedHandler( wxAuiNotebookEvent& event ) override; void pageChangedHandler( wxAuiNotebookEvent& event ) override;
void appendRowHandler( wxCommandEvent& event ) override; void appendRowHandler( wxCommandEvent& event ) override;
void browseLibrariesHandler( wxCommandEvent& event ) override; void browseLibrariesHandler( wxCommandEvent& event );
void deleteRowHandler( wxCommandEvent& event ) override; void deleteRowHandler( wxCommandEvent& event ) override;
void moveUpHandler( wxCommandEvent& event ) override; void moveUpHandler( wxCommandEvent& event ) override;
void moveDownHandler( wxCommandEvent& event ) override; void moveDownHandler( wxCommandEvent& event ) override;

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Dec 30 2017) // C++ code generated with wxFormBuilder (version Oct 26 2018)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO *NOT* EDIT THIS FILE! // PLEASE DO *NOT* EDIT THIS FILE!
@ -11,7 +11,7 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name )
{ {
wxBoxSizer* bMainSizer; wxBoxSizer* bMainSizer;
bMainSizer = new wxBoxSizer( wxVERTICAL ); bMainSizer = new wxBoxSizer( wxVERTICAL );
@ -56,12 +56,12 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
m_global_grid->EnableDragColMove( false ); m_global_grid->EnableDragColMove( false );
m_global_grid->EnableDragColSize( true ); m_global_grid->EnableDragColSize( true );
m_global_grid->SetColLabelSize( 22 ); m_global_grid->SetColLabelSize( 22 );
m_global_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); m_global_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows // Rows
m_global_grid->EnableDragRowSize( false ); m_global_grid->EnableDragRowSize( false );
m_global_grid->SetRowLabelSize( 0 ); m_global_grid->SetRowLabelSize( 0 );
m_global_grid->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); m_global_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance // Label Appearance
@ -108,12 +108,12 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
m_project_grid->EnableDragColMove( false ); m_project_grid->EnableDragColMove( false );
m_project_grid->EnableDragColSize( true ); m_project_grid->EnableDragColSize( true );
m_project_grid->SetColLabelSize( 22 ); m_project_grid->SetColLabelSize( 22 );
m_project_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); m_project_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows // Rows
m_project_grid->EnableDragRowSize( false ); m_project_grid->EnableDragRowSize( false );
m_project_grid->SetRowLabelSize( 0 ); m_project_grid->SetRowLabelSize( 0 );
m_project_grid->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); m_project_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance // Label Appearance
@ -132,22 +132,20 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
wxBoxSizer* bButtonsSizer; wxBoxSizer* bButtonsSizer;
bButtonsSizer = new wxBoxSizer( wxHORIZONTAL ); bButtonsSizer = new wxBoxSizer( wxHORIZONTAL );
m_append_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW ); m_append_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW|0 );
m_append_button->SetToolTip( _("Add empty row to table") ); m_append_button->SetToolTip( _("Add empty row to table") );
bButtonsSizer->Add( m_append_button, 0, wxRIGHT|wxLEFT, 5 ); bButtonsSizer->Add( m_append_button, 0, wxRIGHT|wxLEFT, 5 );
m_browse_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW ); m_browseButton = new SPLIT_BUTTON( m_top_sizer->GetStaticBox(), wxID_ANY, _( "Add Existing" ), wxDefaultPosition );
m_browse_button->SetToolTip( _("Add existing library to table") ); bButtonsSizer->Add( m_browseButton, 0, wxRIGHT, 5 );
bButtonsSizer->Add( m_browse_button, 0, wxRIGHT, 5 ); m_move_up_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW|0 );
m_move_up_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW );
m_move_up_button->SetToolTip( _("Move up") ); m_move_up_button->SetToolTip( _("Move up") );
bButtonsSizer->Add( m_move_up_button, 0, wxRIGHT, 5 ); bButtonsSizer->Add( m_move_up_button, 0, wxRIGHT, 5 );
m_move_down_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW ); m_move_down_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW|0 );
m_move_down_button->SetToolTip( _("Move down") ); m_move_down_button->SetToolTip( _("Move down") );
bButtonsSizer->Add( m_move_down_button, 0, wxRIGHT, 5 ); bButtonsSizer->Add( m_move_down_button, 0, wxRIGHT, 5 );
@ -155,7 +153,7 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
bButtonsSizer->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); bButtonsSizer->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
m_delete_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW ); m_delete_button = new wxBitmapButton( m_top_sizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), wxBU_AUTODRAW|0 );
m_delete_button->SetToolTip( _("Remove library from table") ); m_delete_button->SetToolTip( _("Remove library from table") );
bButtonsSizer->Add( m_delete_button, 0, wxRIGHT|wxLEFT, 5 ); bButtonsSizer->Add( m_delete_button, 0, wxRIGHT|wxLEFT, 5 );
@ -185,12 +183,12 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
m_path_subs_grid->EnableDragColMove( false ); m_path_subs_grid->EnableDragColMove( false );
m_path_subs_grid->EnableDragColSize( true ); m_path_subs_grid->EnableDragColSize( true );
m_path_subs_grid->SetColLabelSize( 0 ); m_path_subs_grid->SetColLabelSize( 0 );
m_path_subs_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); m_path_subs_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows // Rows
m_path_subs_grid->EnableDragRowSize( true ); m_path_subs_grid->EnableDragRowSize( true );
m_path_subs_grid->SetRowLabelSize( 0 ); m_path_subs_grid->SetRowLabelSize( 0 );
m_path_subs_grid->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE ); m_path_subs_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance // Label Appearance
@ -210,7 +208,6 @@ PANEL_FP_LIB_TABLE_BASE::PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID i
// Connect Events // Connect Events
m_auinotebook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( PANEL_FP_LIB_TABLE_BASE::pageChangedHandler ), NULL, this ); m_auinotebook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( PANEL_FP_LIB_TABLE_BASE::pageChangedHandler ), NULL, this );
m_append_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::appendRowHandler ), NULL, this ); m_append_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::appendRowHandler ), NULL, this );
m_browse_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::browseLibrariesHandler ), NULL, this );
m_move_up_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveUpHandler ), NULL, this ); m_move_up_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveUpHandler ), NULL, this );
m_move_down_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveDownHandler ), NULL, this ); m_move_down_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveDownHandler ), NULL, this );
m_delete_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::deleteRowHandler ), NULL, this ); m_delete_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::deleteRowHandler ), NULL, this );
@ -222,7 +219,6 @@ PANEL_FP_LIB_TABLE_BASE::~PANEL_FP_LIB_TABLE_BASE()
// Disconnect Events // Disconnect Events
m_auinotebook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( PANEL_FP_LIB_TABLE_BASE::pageChangedHandler ), NULL, this ); m_auinotebook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( PANEL_FP_LIB_TABLE_BASE::pageChangedHandler ), NULL, this );
m_append_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::appendRowHandler ), NULL, this ); m_append_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::appendRowHandler ), NULL, this );
m_browse_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::browseLibrariesHandler ), NULL, this );
m_move_up_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveUpHandler ), NULL, this ); m_move_up_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveUpHandler ), NULL, this );
m_move_down_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveDownHandler ), NULL, this ); m_move_down_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::moveDownHandler ), NULL, this );
m_delete_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::deleteRowHandler ), NULL, this ); m_delete_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_LIB_TABLE_BASE::deleteRowHandler ), NULL, this );

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<wxFormBuilder_Project> <wxFormBuilder_Project>
<FileVersion major="1" minor="13" /> <FileVersion major="1" minor="15" />
<object class="Project" expanded="1"> <object class="Project" expanded="1">
<property name="class_decoration"></property> <property name="class_decoration"></property>
<property name="code_generation">C++</property> <property name="code_generation">C++</property>
@ -14,6 +14,7 @@
<property name="file">panel_fp_lib_table_base</property> <property name="file">panel_fp_lib_table_base</property>
<property name="first_id">1000</property> <property name="first_id">1000</property>
<property name="help_provider">none</property> <property name="help_provider">none</property>
<property name="indent_with_spaces"></property>
<property name="internationalize">1</property> <property name="internationalize">1</property>
<property name="name">panel_fp_lib_table</property> <property name="name">panel_fp_lib_table</property>
<property name="namespace"></property> <property name="namespace"></property>
@ -48,36 +49,6 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style">wxTAB_TRAVERSAL</property> <property name="window_style">wxTAB_TRAVERSAL</property>
<event name="OnAuiFindManager"></event>
<event name="OnAuiPaneButton"></event>
<event name="OnAuiPaneClose"></event>
<event name="OnAuiPaneMaximize"></event>
<event name="OnAuiPaneRestore"></event>
<event name="OnAuiRender"></event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnInitDialog"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">bMainSizer</property> <property name="name">bMainSizer</property>
@ -95,7 +66,6 @@
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
<property name="parent">1</property> <property name="parent">1</property>
<property name="permission">none</property> <property name="permission">none</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property> <property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
@ -154,38 +124,7 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnAuiNotebookAllowDND"></event>
<event name="OnAuiNotebookBeginDrag"></event>
<event name="OnAuiNotebookButton"></event>
<event name="OnAuiNotebookDragMotion"></event>
<event name="OnAuiNotebookEndDrag"></event>
<event name="OnAuiNotebookPageChanged">pageChangedHandler</event> <event name="OnAuiNotebookPageChanged">pageChangedHandler</event>
<event name="OnAuiNotebookPageChanging"></event>
<event name="OnAuiNotebookPageClose"></event>
<event name="OnAuiNotebookPageClosed"></event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="auinotebookpage" expanded="1"> <object class="auinotebookpage" expanded="1">
<property name="bitmap"></property> <property name="bitmap"></property>
<property name="label">Global Libraries</property> <property name="label">Global Libraries</property>
@ -241,29 +180,6 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style">wxTAB_TRAVERSAL</property> <property name="window_style">wxTAB_TRAVERSAL</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">m_global_sizer</property> <property name="name">m_global_sizer</property>
@ -318,6 +234,7 @@
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">File:</property> <property name="label">File:</property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -343,29 +260,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<property name="wrap">-1</property> <property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
@ -401,6 +295,7 @@
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Table Name</property> <property name="label">Table Name</property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -426,29 +321,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<property name="wrap">-1</property> <property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object> </object>
@ -479,10 +351,10 @@
<property name="cell_vert_alignment">wxALIGN_TOP</property> <property name="cell_vert_alignment">wxALIGN_TOP</property>
<property name="center_pane">0</property> <property name="center_pane">0</property>
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="col_label_horiz_alignment">wxALIGN_CENTRE</property> <property name="col_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="col_label_size">22</property> <property name="col_label_size">22</property>
<property name="col_label_values"></property> <property name="col_label_values"></property>
<property name="col_label_vert_alignment">wxALIGN_CENTRE</property> <property name="col_label_vert_alignment">wxALIGN_CENTER</property>
<property name="cols">5</property> <property name="cols">5</property>
<property name="column_sizes"></property> <property name="column_sizes"></property>
<property name="context_help"></property> <property name="context_help"></property>
@ -525,10 +397,10 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Fixed</property> <property name="resize">Fixed</property>
<property name="row_label_horiz_alignment">wxALIGN_CENTRE</property> <property name="row_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="row_label_size">0</property> <property name="row_label_size">0</property>
<property name="row_label_values"></property> <property name="row_label_values"></property>
<property name="row_label_vert_alignment">wxALIGN_CENTRE</property> <property name="row_label_vert_alignment">wxALIGN_CENTER</property>
<property name="row_sizes"></property> <property name="row_sizes"></property>
<property name="rows">1</property> <property name="rows">1</property>
<property name="show">1</property> <property name="show">1</property>
@ -539,61 +411,6 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnGridCellChange"></event>
<event name="OnGridCellLeftClick"></event>
<event name="OnGridCellLeftDClick"></event>
<event name="OnGridCellRightClick"></event>
<event name="OnGridCellRightDClick"></event>
<event name="OnGridCmdCellChange"></event>
<event name="OnGridCmdCellLeftClick"></event>
<event name="OnGridCmdCellLeftDClick"></event>
<event name="OnGridCmdCellRightClick"></event>
<event name="OnGridCmdCellRightDClick"></event>
<event name="OnGridCmdColSize"></event>
<event name="OnGridCmdEditorCreated"></event>
<event name="OnGridCmdEditorHidden"></event>
<event name="OnGridCmdEditorShown"></event>
<event name="OnGridCmdLabelLeftClick"></event>
<event name="OnGridCmdLabelLeftDClick"></event>
<event name="OnGridCmdLabelRightClick"></event>
<event name="OnGridCmdLabelRightDClick"></event>
<event name="OnGridCmdRangeSelect"></event>
<event name="OnGridCmdRowSize"></event>
<event name="OnGridCmdSelectCell"></event>
<event name="OnGridColSize"></event>
<event name="OnGridEditorCreated"></event>
<event name="OnGridEditorHidden"></event>
<event name="OnGridEditorShown"></event>
<event name="OnGridLabelLeftClick"></event>
<event name="OnGridLabelLeftDClick"></event>
<event name="OnGridLabelRightClick"></event>
<event name="OnGridLabelRightDClick"></event>
<event name="OnGridRangeSelect"></event>
<event name="OnGridRowSize"></event>
<event name="OnGridSelectCell"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object> </object>
@ -654,29 +471,6 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style">wxTAB_TRAVERSAL</property> <property name="window_style">wxTAB_TRAVERSAL</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">m_project_sizer</property> <property name="name">m_project_sizer</property>
@ -731,6 +525,7 @@
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">File:</property> <property name="label">File:</property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -756,29 +551,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<property name="wrap">-1</property> <property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
@ -814,6 +586,7 @@
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Table Name</property> <property name="label">Table Name</property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -839,29 +612,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<property name="wrap">-1</property> <property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object> </object>
@ -892,10 +642,10 @@
<property name="cell_vert_alignment">wxALIGN_TOP</property> <property name="cell_vert_alignment">wxALIGN_TOP</property>
<property name="center_pane">0</property> <property name="center_pane">0</property>
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="col_label_horiz_alignment">wxALIGN_CENTRE</property> <property name="col_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="col_label_size">22</property> <property name="col_label_size">22</property>
<property name="col_label_values"></property> <property name="col_label_values"></property>
<property name="col_label_vert_alignment">wxALIGN_CENTRE</property> <property name="col_label_vert_alignment">wxALIGN_CENTER</property>
<property name="cols">5</property> <property name="cols">5</property>
<property name="column_sizes"></property> <property name="column_sizes"></property>
<property name="context_help"></property> <property name="context_help"></property>
@ -938,10 +688,10 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Fixed</property> <property name="resize">Fixed</property>
<property name="row_label_horiz_alignment">wxALIGN_CENTRE</property> <property name="row_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="row_label_size">0</property> <property name="row_label_size">0</property>
<property name="row_label_values"></property> <property name="row_label_values"></property>
<property name="row_label_vert_alignment">wxALIGN_CENTRE</property> <property name="row_label_vert_alignment">wxALIGN_CENTER</property>
<property name="row_sizes"></property> <property name="row_sizes"></property>
<property name="rows">1</property> <property name="rows">1</property>
<property name="show">1</property> <property name="show">1</property>
@ -952,61 +702,6 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnGridCellChange"></event>
<event name="OnGridCellLeftClick"></event>
<event name="OnGridCellLeftDClick"></event>
<event name="OnGridCellRightClick"></event>
<event name="OnGridCellRightDClick"></event>
<event name="OnGridCmdCellChange"></event>
<event name="OnGridCmdCellLeftClick"></event>
<event name="OnGridCmdCellLeftDClick"></event>
<event name="OnGridCmdCellRightClick"></event>
<event name="OnGridCmdCellRightDClick"></event>
<event name="OnGridCmdColSize"></event>
<event name="OnGridCmdEditorCreated"></event>
<event name="OnGridCmdEditorHidden"></event>
<event name="OnGridCmdEditorShown"></event>
<event name="OnGridCmdLabelLeftClick"></event>
<event name="OnGridCmdLabelLeftDClick"></event>
<event name="OnGridCmdLabelRightClick"></event>
<event name="OnGridCmdLabelRightDClick"></event>
<event name="OnGridCmdRangeSelect"></event>
<event name="OnGridCmdRowSize"></event>
<event name="OnGridCmdSelectCell"></event>
<event name="OnGridColSize"></event>
<event name="OnGridEditorCreated"></event>
<event name="OnGridEditorHidden"></event>
<event name="OnGridEditorShown"></event>
<event name="OnGridLabelLeftClick"></event>
<event name="OnGridLabelLeftDClick"></event>
<event name="OnGridLabelRightClick"></event>
<event name="OnGridLabelRightDClick"></event>
<event name="OnGridRangeSelect"></event>
<event name="OnGridRowSize"></event>
<event name="OnGridSelectCell"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object> </object>
@ -1045,6 +740,7 @@
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property> <property name="default">0</property>
<property name="default_pane">0</property> <property name="default_pane">0</property>
<property name="disabled"></property> <property name="disabled"></property>
@ -1058,9 +754,10 @@
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="hover"></property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Add Library</property> <property name="label">Add Library</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -1075,11 +772,12 @@
<property name="permission">protected</property> <property name="permission">protected</property>
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selected"></property>
<property name="show">1</property> <property name="show">1</property>
<property name="size">30,30</property> <property name="size">30,30</property>
<property name="style">wxBU_AUTODRAW</property> <property name="style"></property>
<property name="subclass">; forward_declare</property> <property name="subclass">; forward_declare</property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Add empty row to table</property> <property name="tooltip">Add empty row to table</property>
@ -1091,36 +789,13 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">appendRowHandler</event> <event name="OnButtonClick">appendRowHandler</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxRIGHT</property> <property name="flag">wxRIGHT</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxBitmapButton" expanded="1"> <object class="CustomControl" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
<property name="RightDockable">1</property> <property name="RightDockable">1</property>
@ -1131,37 +806,35 @@
<property name="aui_row"></property> <property name="aui_row"></property>
<property name="best_size"></property> <property name="best_size"></property>
<property name="bg"></property> <property name="bg"></property>
<property name="bitmap"></property>
<property name="caption"></property> <property name="caption"></property>
<property name="caption_visible">1</property> <property name="caption_visible">1</property>
<property name="center_pane">0</property> <property name="center_pane">0</property>
<property name="class">SPLIT_BUTTON</property>
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="construction">m_browseButton = new SPLIT_BUTTON( m_top_sizer-&gt;GetStaticBox(), wxID_ANY, _( &quot;Add Existing&quot; ), wxDefaultPosition );</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
<property name="default">0</property> <property name="declaration"></property>
<property name="default_pane">0</property> <property name="default_pane">0</property>
<property name="disabled"></property>
<property name="dock">Dock</property> <property name="dock">Dock</property>
<property name="dock_fixed">0</property> <property name="dock_fixed">0</property>
<property name="docking">Left</property> <property name="docking">Left</property>
<property name="enabled">1</property> <property name="enabled">1</property>
<property name="fg"></property> <property name="fg"></property>
<property name="floatable">1</property> <property name="floatable">1</property>
<property name="focus"></property>
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="hover"></property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Browse for Library</property> <property name="include">#include &lt;widgets/split_button.h&gt;</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
<property name="min_size"></property> <property name="min_size"></property>
<property name="minimize_button">0</property> <property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size">-1,-1</property>
<property name="moveable">1</property> <property name="moveable">1</property>
<property name="name">m_browse_button</property> <property name="name">m_browseButton</property>
<property name="pane_border">1</property> <property name="pane_border">1</property>
<property name="pane_position"></property> <property name="pane_position"></property>
<property name="pane_size"></property> <property name="pane_size"></property>
@ -1169,44 +842,15 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selected"></property> <property name="settings"></property>
<property name="show">1</property> <property name="show">1</property>
<property name="size">30,30</property> <property name="size">-1,-1</property>
<property name="style">wxBU_AUTODRAW</property> <property name="subclass">; ; forward_declare</property>
<property name="subclass">; forward_declare</property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Add existing library to table</property> <property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">browseLibrariesHandler</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
@ -1231,6 +875,7 @@
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property> <property name="default">0</property>
<property name="default_pane">0</property> <property name="default_pane">0</property>
<property name="disabled"></property> <property name="disabled"></property>
@ -1244,9 +889,10 @@
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="hover"></property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Move Up</property> <property name="label">Move Up</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -1261,11 +907,12 @@
<property name="permission">protected</property> <property name="permission">protected</property>
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selected"></property>
<property name="show">1</property> <property name="show">1</property>
<property name="size">30,30</property> <property name="size">30,30</property>
<property name="style">wxBU_AUTODRAW</property> <property name="style"></property>
<property name="subclass">; forward_declare</property> <property name="subclass">; forward_declare</property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Move up</property> <property name="tooltip">Move up</property>
@ -1277,29 +924,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">moveUpHandler</event> <event name="OnButtonClick">moveUpHandler</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
@ -1324,6 +948,7 @@
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property> <property name="default">0</property>
<property name="default_pane">0</property> <property name="default_pane">0</property>
<property name="disabled"></property> <property name="disabled"></property>
@ -1337,9 +962,10 @@
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="hover"></property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Move Down</property> <property name="label">Move Down</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -1354,11 +980,12 @@
<property name="permission">protected</property> <property name="permission">protected</property>
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selected"></property>
<property name="show">1</property> <property name="show">1</property>
<property name="size">30,30</property> <property name="size">30,30</property>
<property name="style">wxBU_AUTODRAW</property> <property name="style"></property>
<property name="subclass">; forward_declare</property> <property name="subclass">; forward_declare</property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Move down</property> <property name="tooltip">Move down</property>
@ -1370,29 +997,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">moveDownHandler</event> <event name="OnButtonClick">moveDownHandler</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
@ -1427,6 +1031,7 @@
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
<property name="current"></property>
<property name="default">0</property> <property name="default">0</property>
<property name="default_pane">0</property> <property name="default_pane">0</property>
<property name="disabled"></property> <property name="disabled"></property>
@ -1440,9 +1045,10 @@
<property name="font"></property> <property name="font"></property>
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="hover"></property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Remove Library</property> <property name="label">Remove Library</property>
<property name="margins"></property>
<property name="markup">0</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
@ -1457,11 +1063,12 @@
<property name="permission">protected</property> <property name="permission">protected</property>
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="position"></property>
<property name="pressed"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selected"></property>
<property name="show">1</property> <property name="show">1</property>
<property name="size">30,30</property> <property name="size">30,30</property>
<property name="style">wxBU_AUTODRAW</property> <property name="style"></property>
<property name="subclass">; forward_declare</property> <property name="subclass">; forward_declare</property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Remove library from table</property> <property name="tooltip">Remove library from table</property>
@ -1473,29 +1080,6 @@
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">deleteRowHandler</event> <event name="OnButtonClick">deleteRowHandler</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object> </object>
@ -1514,7 +1098,6 @@
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
<property name="parent">1</property> <property name="parent">1</property>
<property name="permission">none</property> <property name="permission">none</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property> <property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
@ -1541,10 +1124,10 @@
<property name="cell_vert_alignment">wxALIGN_TOP</property> <property name="cell_vert_alignment">wxALIGN_TOP</property>
<property name="center_pane">0</property> <property name="center_pane">0</property>
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="col_label_horiz_alignment">wxALIGN_CENTRE</property> <property name="col_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="col_label_size">0</property> <property name="col_label_size">0</property>
<property name="col_label_values"></property> <property name="col_label_values"></property>
<property name="col_label_vert_alignment">wxALIGN_CENTRE</property> <property name="col_label_vert_alignment">wxALIGN_CENTER</property>
<property name="cols">2</property> <property name="cols">2</property>
<property name="column_sizes">150,500</property> <property name="column_sizes">150,500</property>
<property name="context_help"></property> <property name="context_help"></property>
@ -1587,10 +1170,10 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="row_label_horiz_alignment">wxALIGN_CENTRE</property> <property name="row_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="row_label_size">0</property> <property name="row_label_size">0</property>
<property name="row_label_values"></property> <property name="row_label_values"></property>
<property name="row_label_vert_alignment">wxALIGN_CENTRE</property> <property name="row_label_vert_alignment">wxALIGN_CENTER</property>
<property name="row_sizes"></property> <property name="row_sizes"></property>
<property name="rows">1</property> <property name="rows">1</property>
<property name="show">1</property> <property name="show">1</property>
@ -1601,61 +1184,7 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnGridCellChange"></event>
<event name="OnGridCellLeftClick"></event>
<event name="OnGridCellLeftDClick"></event>
<event name="OnGridCellRightClick"></event>
<event name="OnGridCellRightDClick"></event>
<event name="OnGridCmdCellChange"></event>
<event name="OnGridCmdCellLeftClick"></event>
<event name="OnGridCmdCellLeftDClick"></event>
<event name="OnGridCmdCellRightClick"></event>
<event name="OnGridCmdCellRightDClick"></event>
<event name="OnGridCmdColSize"></event>
<event name="OnGridCmdEditorCreated"></event>
<event name="OnGridCmdEditorHidden"></event>
<event name="OnGridCmdEditorShown"></event>
<event name="OnGridCmdLabelLeftClick"></event>
<event name="OnGridCmdLabelLeftDClick"></event>
<event name="OnGridCmdLabelRightClick"></event>
<event name="OnGridCmdLabelRightDClick"></event>
<event name="OnGridCmdRangeSelect"></event>
<event name="OnGridCmdRowSize"></event>
<event name="OnGridCmdSelectCell"></event>
<event name="OnGridColSize"></event>
<event name="OnGridEditorCreated"></event>
<event name="OnGridEditorHidden"></event>
<event name="OnGridEditorShown"></event>
<event name="OnGridLabelLeftClick"></event>
<event name="OnGridLabelLeftDClick"></event>
<event name="OnGridLabelRightClick"></event>
<event name="OnGridLabelRightDClick"></event>
<event name="OnGridRangeSelect"></event>
<event name="OnGridRowSize"></event>
<event name="OnGridSelectCell"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize">onSizeGrid</event> <event name="OnSize">onSizeGrid</event>
<event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object> </object>

View File

@ -1,12 +1,11 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Dec 30 2017) // C++ code generated with wxFormBuilder (version Oct 26 2018)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO *NOT* EDIT THIS FILE! // PLEASE DO *NOT* EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __PANEL_FP_LIB_TABLE_BASE_H__ #pragma once
#define __PANEL_FP_LIB_TABLE_BASE_H__
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
@ -28,6 +27,7 @@ class WX_GRID;
#include <wx/aui/auibook.h> #include <wx/aui/auibook.h>
#include <wx/bmpbuttn.h> #include <wx/bmpbuttn.h>
#include <wx/button.h> #include <wx/button.h>
#include <widgets/split_button.h>
#include <wx/statbox.h> #include <wx/statbox.h>
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -51,7 +51,7 @@ class PANEL_FP_LIB_TABLE_BASE : public wxPanel
wxStaticText* m_PrjTableFilename; wxStaticText* m_PrjTableFilename;
WX_GRID* m_project_grid; WX_GRID* m_project_grid;
wxBitmapButton* m_append_button; wxBitmapButton* m_append_button;
wxBitmapButton* m_browse_button; SPLIT_BUTTON* m_browseButton;
wxBitmapButton* m_move_up_button; wxBitmapButton* m_move_up_button;
wxBitmapButton* m_move_down_button; wxBitmapButton* m_move_down_button;
wxBitmapButton* m_delete_button; wxBitmapButton* m_delete_button;
@ -60,7 +60,6 @@ class PANEL_FP_LIB_TABLE_BASE : public wxPanel
// Virtual event handlers, overide them in your derived class // Virtual event handlers, overide them in your derived class
virtual void pageChangedHandler( wxAuiNotebookEvent& event ) { event.Skip(); } virtual void pageChangedHandler( wxAuiNotebookEvent& event ) { event.Skip(); }
virtual void appendRowHandler( wxCommandEvent& event ) { event.Skip(); } virtual void appendRowHandler( wxCommandEvent& event ) { event.Skip(); }
virtual void browseLibrariesHandler( wxCommandEvent& event ) { event.Skip(); }
virtual void moveUpHandler( wxCommandEvent& event ) { event.Skip(); } virtual void moveUpHandler( wxCommandEvent& event ) { event.Skip(); }
virtual void moveDownHandler( wxCommandEvent& event ) { event.Skip(); } virtual void moveDownHandler( wxCommandEvent& event ) { event.Skip(); }
virtual void deleteRowHandler( wxCommandEvent& event ) { event.Skip(); } virtual void deleteRowHandler( wxCommandEvent& event ) { event.Skip(); }
@ -69,9 +68,8 @@ class PANEL_FP_LIB_TABLE_BASE : public wxPanel
public: public:
PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL ); PANEL_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~PANEL_FP_LIB_TABLE_BASE(); ~PANEL_FP_LIB_TABLE_BASE();
}; };
#endif //__PANEL_FP_LIB_TABLE_BASE_H__

View File

@ -147,6 +147,12 @@ enum pcbnew_ids
ID_FOOTPRINT_WIZARD_RESET_TO_DEFAULT, ID_FOOTPRINT_WIZARD_RESET_TO_DEFAULT,
ID_ADD_FOOTPRINT_TO_BOARD, ID_ADD_FOOTPRINT_TO_BOARD,
ID_PANEL_FPLIB_ADD_KICADMOD,
ID_PANEL_FPLIB_ADD_EAGLE6,
ID_PANEL_FPLIB_ADD_KICADLEGACY,
ID_PANEL_FPLIB_ADD_GEDA,
ID_PCBNEW_END_LIST ID_PCBNEW_END_LIST
}; };