122 lines
2.8 KiB
C++
122 lines
2.8 KiB
C++
/*****************************************************/
|
|
/* muwave_command.cpp: micro wave functions commands */
|
|
/*****************************************************/
|
|
|
|
#include "fctsys.h"
|
|
#include "common.h"
|
|
#include "class_drawpanel.h"
|
|
#include "confirm.h"
|
|
#include "pcbnew.h"
|
|
#include "wxPcbStruct.h"
|
|
|
|
#include "id.h"
|
|
|
|
#include "protos.h"
|
|
|
|
|
|
/*********************************************************************/
|
|
void WinEDA_PcbFrame::ProcessMuWaveFunctions(wxCommandEvent& event)
|
|
/*********************************************************************/
|
|
/* Traite les selections d'outils et les commandes appelees du menu POPUP
|
|
*/
|
|
{
|
|
int id = event.GetId();
|
|
wxPoint pos;
|
|
wxClientDC dc(DrawPanel);
|
|
|
|
DrawPanel->PrepareGraphicContext(&dc);
|
|
|
|
wxGetMousePosition(&pos.x, &pos.y);
|
|
|
|
pos.y += 20;
|
|
|
|
switch ( id ) // Arret eventuel de la commande de déplacement en cours
|
|
{
|
|
case ID_POPUP_COPY_BLOCK:
|
|
break;
|
|
|
|
default: // Arret de la commande de déplacement en cours
|
|
if( DrawPanel->ManageCurseur &&
|
|
DrawPanel->ForceCloseManageCurseur )
|
|
{
|
|
DrawPanel->ForceCloseManageCurseur(DrawPanel, &dc);
|
|
}
|
|
SetToolID(0, wxCURSOR_ARROW,wxEmptyString);
|
|
break;
|
|
}
|
|
|
|
switch ( id ) // Traitement des commandes
|
|
{
|
|
|
|
case ID_PCB_MUWAVE_TOOL_SELF_CMD:
|
|
SetToolID( id, wxCURSOR_PENCIL, _("Add Line"));
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_GAP_CMD:
|
|
SetToolID( id, wxCURSOR_PENCIL, _("Add Gap"));
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_STUB_CMD:
|
|
SetToolID( id, wxCURSOR_PENCIL, _("Add Stub"));
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_STUB_ARC_CMD:
|
|
SetToolID( id, wxCURSOR_PENCIL, _("Add Arc Stub"));
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_FUNCTION_SHAPE_CMD:
|
|
SetToolID( id, wxCURSOR_PENCIL, _("Add Polynomial Shape"));
|
|
break;
|
|
|
|
default:
|
|
DisplayError(this, wxT("WinEDA_PcbFrame::ProcessMuWaveFunctions() id error"));
|
|
break;
|
|
}
|
|
|
|
SetToolbars();
|
|
}
|
|
|
|
|
|
|
|
/***************************************************************************/
|
|
void WinEDA_PcbFrame::MuWaveCommand(wxDC * DC, const wxPoint& MousePos)
|
|
/***************************************************************************/
|
|
{
|
|
MODULE* module = NULL;
|
|
switch ( m_ID_current_state )
|
|
{
|
|
case ID_PCB_MUWAVE_TOOL_SELF_CMD:
|
|
Begin_Self(DC);
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_GAP_CMD:
|
|
module = Create_MuWaveComponent( 0);
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_STUB_CMD:
|
|
module = Create_MuWaveComponent( 1);
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_STUB_ARC_CMD:
|
|
module = Create_MuWaveComponent( 2);
|
|
break;
|
|
|
|
case ID_PCB_MUWAVE_TOOL_FUNCTION_SHAPE_CMD:
|
|
module = Create_MuWavePolygonShape();
|
|
break;
|
|
|
|
default :
|
|
DrawPanel->SetCursor(wxCURSOR_ARROW);
|
|
DisplayError(this, wxT("WinEDA_PcbFrame::MuWaveCommand() id error"));
|
|
SetToolID(0, wxCURSOR_ARROW,wxEmptyString);
|
|
break;
|
|
}
|
|
|
|
if ( module )
|
|
{
|
|
StartMove_Module( module, DC );
|
|
}
|
|
DrawPanel->MouseToCursorSchema();
|
|
}
|
|
|