175 lines
4.8 KiB
C++
175 lines
4.8 KiB
C++
/********************************************/
|
|
/* PCBNEW - Gestion des Options et Reglages */
|
|
/********************************************/
|
|
|
|
/* Fichier reglage.cpp */
|
|
|
|
/*
|
|
* Affichage et modifications des parametres de travail de PcbNew
|
|
* Parametres = dimensions des via, pistes, isolements, options...
|
|
*/
|
|
|
|
|
|
#include "fctsys.h"
|
|
|
|
#include "common.h"
|
|
#include "gerbview.h"
|
|
#include "pcbplot.h"
|
|
|
|
#include "protos.h"
|
|
|
|
/* Fonctions locales */
|
|
|
|
/* variables locales */
|
|
|
|
/***********/
|
|
|
|
enum {
|
|
ID_SAVE_CFG = 1000
|
|
};
|
|
|
|
/* Routines Locales */
|
|
|
|
/*************************************************/
|
|
/* classe derivee pour la frame de Configuration */
|
|
/*************************************************/
|
|
|
|
class WinEDA_ConfigFrame: public wxDialog
|
|
{
|
|
private:
|
|
|
|
WinEDA_GerberFrame * m_Parent;
|
|
wxListBox * ListLibr;
|
|
int LibModified;
|
|
|
|
WinEDA_EnterText * TextDrillExt;
|
|
WinEDA_EnterText * TextPhotoExt;
|
|
WinEDA_EnterText * TextPenExt;
|
|
|
|
// Constructor and destructor
|
|
public:
|
|
WinEDA_ConfigFrame(WinEDA_GerberFrame *parent,const wxPoint& pos);
|
|
~WinEDA_ConfigFrame() {};
|
|
|
|
private:
|
|
void SaveCfg(wxCommandEvent & event);
|
|
void OnOkClick(wxCommandEvent & event);
|
|
void OnCancelClick(wxCommandEvent & event);
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
};
|
|
/* Construction de la table des evenements pour WinEDA_ConfigFrame */
|
|
BEGIN_EVENT_TABLE(WinEDA_ConfigFrame, wxDialog)
|
|
EVT_BUTTON(ID_SAVE_CFG, WinEDA_ConfigFrame::SaveCfg)
|
|
EVT_BUTTON(wxID_OK, WinEDA_ConfigFrame::OnOkClick)
|
|
EVT_BUTTON(wxID_CANCEL, WinEDA_ConfigFrame::OnCancelClick)
|
|
END_EVENT_TABLE()
|
|
|
|
|
|
|
|
/*****************************************************************/
|
|
/* void WinEDA_GerberFrame::InstallConfigFrame(const wxPoint & pos) */
|
|
/*****************************************************************/
|
|
|
|
void WinEDA_GerberFrame::InstallConfigFrame(const wxPoint & pos)
|
|
{
|
|
WinEDA_ConfigFrame * CfgFrame = new WinEDA_ConfigFrame(this, pos);
|
|
CfgFrame->ShowModal();
|
|
CfgFrame->Destroy();
|
|
}
|
|
|
|
|
|
/************************************************************/
|
|
/* Constructeur de WinEDA_ConfigFrame: la fenetre de config */
|
|
/************************************************************/
|
|
|
|
WinEDA_ConfigFrame::WinEDA_ConfigFrame(WinEDA_GerberFrame *parent,
|
|
const wxPoint& framepos):
|
|
wxDialog(parent, -1, wxEmptyString, framepos, wxSize(300, 180),
|
|
wxDEFAULT_DIALOG_STYLE|wxFRAME_FLOAT_ON_PARENT )
|
|
{
|
|
const int LEN_EXT = 100;
|
|
wxString title;
|
|
|
|
m_Parent = parent;
|
|
SetFont(* g_DialogFont);
|
|
|
|
title = _("from ") + EDA_Appl->m_CurrentOptionFile;
|
|
SetTitle(title);
|
|
|
|
LibModified = FALSE;
|
|
wxBoxSizer * MainBoxSizer = new wxBoxSizer(wxHORIZONTAL);
|
|
SetSizer(MainBoxSizer);
|
|
wxBoxSizer * RightBoxSizer = new wxBoxSizer(wxVERTICAL);
|
|
wxBoxSizer * LeftBoxSizer = new wxBoxSizer(wxVERTICAL);
|
|
MainBoxSizer->Add(LeftBoxSizer, 0, wxGROW|wxALL, 5);
|
|
MainBoxSizer->Add(RightBoxSizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
|
|
|
/* Creation des boutons de commande */
|
|
wxButton * Button = new wxButton(this, ID_SAVE_CFG, _("Save Cfg..."));
|
|
RightBoxSizer->Add(Button, 0, wxGROW|wxALL, 5);
|
|
|
|
// Provide a spacer to improve appearance of dialog box
|
|
RightBoxSizer->AddSpacer(20);
|
|
|
|
Button = new wxButton(this, wxID_OK, _("OK"));
|
|
Button->SetForegroundColour(*wxRED);
|
|
RightBoxSizer->Add(Button, 0, wxGROW|wxALL, 5);
|
|
|
|
Button = new wxButton(this, wxID_CANCEL, _("Cancel"));
|
|
Button->SetForegroundColour(*wxBLUE);
|
|
RightBoxSizer->Add(Button, 0, wxGROW|wxALL, 5);
|
|
|
|
wxSize size;
|
|
size.x = LEN_EXT;
|
|
size.y = -1;
|
|
TextDrillExt = new WinEDA_EnterText(this,
|
|
_("Drill File Ext:"), g_DrillFilenameExt,
|
|
LeftBoxSizer, size);
|
|
|
|
TextPhotoExt = new WinEDA_EnterText(this,
|
|
_("Gerber File Ext:"), g_PhotoFilenameExt,
|
|
LeftBoxSizer, size);
|
|
|
|
TextPenExt = new WinEDA_EnterText(this,
|
|
_("D code File Ext:"), g_PenFilenameExt,
|
|
LeftBoxSizer, size);
|
|
|
|
GetSizer()->Fit(this);
|
|
GetSizer()->SetSizeHints(this);
|
|
}
|
|
|
|
|
|
/*****************************************************************/
|
|
/* Fonctions de base de WinEDA_ConfigFrame: la fenetre de config */
|
|
/*****************************************************************/
|
|
|
|
|
|
/******************************************************************/
|
|
void WinEDA_ConfigFrame::OnOkClick(wxCommandEvent& WXUNUSED(event))
|
|
/******************************************************************/
|
|
{
|
|
g_DrillFilenameExt = TextDrillExt->GetValue();
|
|
g_PhotoFilenameExt = TextPhotoExt->GetValue();
|
|
g_PenFilenameExt = TextPenExt->GetValue();
|
|
|
|
EndModal( 1 );
|
|
}
|
|
|
|
|
|
/******************************************************************/
|
|
void WinEDA_ConfigFrame::OnCancelClick(wxCommandEvent& WXUNUSED(event))
|
|
/******************************************************************/
|
|
{
|
|
EndModal( -1 );
|
|
}
|
|
|
|
|
|
/******************************************************/
|
|
void WinEDA_ConfigFrame::SaveCfg(wxCommandEvent& event)
|
|
/******************************************************/
|
|
{
|
|
m_Parent->Update_config();
|
|
}
|