~pierre-parent-k/kicad/length-tunning

« back to all changes in this revision

Viewing changes to eeschema/libeditframe.cpp

  • Committer: Pierre Parent
  • Date: 2014-07-06 10:32:13 UTC
  • mfrom: (4798.1.179 kicad)
  • Revision ID: pierre.parent@insa-rouen.fr-20140706103213-wjsdy0hc9q6wbz5v
Merge with lp:kicad 4977

Show diffs side-by-side

added added

removed removed

Lines of Context:
88
88
LIB_ITEM* LIB_EDIT_FRAME::m_drawItem = NULL;
89
89
bool LIB_EDIT_FRAME::          m_showDeMorgan    = false;
90
90
wxSize LIB_EDIT_FRAME::        m_clientSize      = wxSize( -1, -1 );
91
 
int LIB_EDIT_FRAME::           m_textSize        = DEFAULT_SIZE_TEXT;
 
91
int LIB_EDIT_FRAME::           m_textSize        = -1;
92
92
int LIB_EDIT_FRAME::           m_textOrientation = TEXT_ORIENT_HORIZ;
93
93
int LIB_EDIT_FRAME::           m_drawLineWidth   = 0;
94
94
FILL_T LIB_EDIT_FRAME::        m_drawFillStyle   = NO_FILL;
99
99
    EVT_SIZE( LIB_EDIT_FRAME::OnSize )
100
100
    EVT_ACTIVATE( LIB_EDIT_FRAME::OnActivate )
101
101
 
102
 
    /* Main horizontal toolbar. */
 
102
    // Main horizontal toolbar.
103
103
    EVT_TOOL( ID_LIBEDIT_SAVE_CURRENT_LIB, LIB_EDIT_FRAME::OnSaveActiveLibrary )
104
104
    EVT_TOOL( ID_LIBEDIT_SELECT_CURRENT_LIB, LIB_EDIT_FRAME::Process_Special_Functions )
105
105
    EVT_TOOL( ID_LIBEDIT_DELETE_PART, LIB_EDIT_FRAME::DeleteOnePart )
125
125
    EVT_COMBOBOX( ID_LIBEDIT_SELECT_PART_NUMBER, LIB_EDIT_FRAME::OnSelectPart )
126
126
    EVT_COMBOBOX( ID_LIBEDIT_SELECT_ALIAS, LIB_EDIT_FRAME::OnSelectAlias )
127
127
 
128
 
    /* Right vertical toolbar. */
 
128
    // Right vertical toolbar.
129
129
    EVT_TOOL( ID_NO_TOOL_SELECTED, LIB_EDIT_FRAME::OnSelectTool )
130
130
    EVT_TOOL_RANGE( ID_LIBEDIT_PIN_BUTT, ID_LIBEDIT_DELETE_ITEM_BUTT,
131
131
                    LIB_EDIT_FRAME::OnSelectTool )
132
132
 
133
 
    /* menubar commands */
 
133
    // menubar commands
134
134
    EVT_MENU( wxID_EXIT, LIB_EDIT_FRAME::CloseWindow )
135
135
    EVT_MENU( ID_LIBEDIT_SAVE_CURRENT_LIB_AS, LIB_EDIT_FRAME::OnSaveActiveLibrary )
136
136
    EVT_MENU( ID_LIBEDIT_GEN_PNG_FILE, LIB_EDIT_FRAME::OnPlotCurrentComponent )
152
152
    EVT_MENU_RANGE( ID_PREFERENCES_HOTKEY_START, ID_PREFERENCES_HOTKEY_END,
153
153
                    LIB_EDIT_FRAME::Process_Config )
154
154
 
155
 
    EVT_MENU_RANGE( ID_LANGUAGE_CHOICE, ID_LANGUAGE_CHOICE_END, LIB_EDIT_FRAME::SetLanguage )
156
 
 
157
 
    /* Context menu events and commands. */
 
155
    // Context menu events and commands.
158
156
    EVT_MENU( ID_LIBEDIT_EDIT_PIN, LIB_EDIT_FRAME::OnEditPin )
159
157
    EVT_MENU( ID_LIBEDIT_ROTATE_ITEM, LIB_EDIT_FRAME::OnRotateItem )
160
158
 
165
163
    EVT_MENU_RANGE( ID_POPUP_GENERAL_START_RANGE, ID_POPUP_GENERAL_END_RANGE,
166
164
                    LIB_EDIT_FRAME::Process_Special_Functions )
167
165
 
168
 
   /* Update user interface elements. */
 
166
    // Update user interface elements.
169
167
    EVT_UPDATE_UI( ExportPartId, LIB_EDIT_FRAME::OnUpdateEditingPart )
170
168
    EVT_UPDATE_UI( CreateNewLibAndSavePartId, LIB_EDIT_FRAME::OnUpdateEditingPart )
171
169
    EVT_UPDATE_UI( ID_LIBEDIT_SAVE_CURRENT_PART, LIB_EDIT_FRAME::OnUpdateEditingPart )
189
187
 
190
188
#define LIB_EDIT_FRAME_NAME wxT( "LibeditFrame" )
191
189
 
192
 
LIB_EDIT_FRAME::LIB_EDIT_FRAME( KIWAY* aKiway, SCH_EDIT_FRAME* aParent ) :
193
 
    SCH_BASE_FRAME( aKiway, aParent, LIBEDITOR_FRAME_TYPE, _( "Library Editor" ),
 
190
LIB_EDIT_FRAME::LIB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
 
191
    SCH_BASE_FRAME( aKiway, aParent, FRAME_SCH_LIB_EDITOR, _( "Library Editor" ),
194
192
        wxDefaultPosition, wxDefaultSize, KICAD_DEFAULT_DRAWFRAME_STYLE, GetLibEditFrameName() )
195
193
{
196
 
    wxASSERT( aParent );    // LIB_EDIT_FRAME needs a parent, since it peeks up there.
 
194
    wxASSERT( aParent );
197
195
 
198
196
    m_FrameName  = GetLibEditFrameName();
199
197
    m_showAxis   = true;            // true to draw axis
204
202
    m_tempCopyComponent   = NULL;
205
203
    m_HotkeysZoomAndGridList = s_Libedit_Hokeys_Descr;
206
204
    m_editPinsPerPartOrConvert = false;
 
205
 
 
206
    // Delayed initialization
 
207
    if( m_textSize == -1 )
 
208
        m_textSize = GetDefaultTextSize();
 
209
 
207
210
    // Initialize grid id to the default value 50 mils:
208
211
    m_LastGridSizeId = ID_POPUP_GRID_LEVEL_50 - ID_POPUP_GRID_LEVEL_1000;
209
212
 
292
295
    return LIB_EDIT_FRAME_NAME;
293
296
}
294
297
 
295
 
 
296
 
LIB_EDIT_FRAME* LIB_EDIT_FRAME::GetActiveLibraryEditor()
297
 
{
298
 
    return (LIB_EDIT_FRAME*) wxWindow::FindWindowByName(GetLibEditFrameName());
299
 
}
300
 
 
 
298
static const wxChar drawBgColorKey[] = wxT( "LibeditBgColor" );
301
299
 
302
300
void LIB_EDIT_FRAME::LoadSettings( wxConfigBase* aCfg )
303
301
{
315
313
 
316
314
    wxConfigPathChanger cpc( aCfg, m_configPath );
317
315
 
 
316
    EDA_COLOR_T itmp = ColorByName( aCfg->Read( drawBgColorKey, wxT("WHITE") ) );
 
317
    SetDrawBgColor( itmp );
 
318
 
318
319
    m_lastLibExportPath = aCfg->Read( lastLibExportPathEntry, ::wxGetCwd() );
319
320
    m_lastLibImportPath = aCfg->Read( lastLibImportPathEntry, ::wxGetCwd() );
320
321
 
338
339
 
339
340
    wxConfigPathChanger cpc( aCfg, m_configPath );
340
341
 
 
342
    aCfg->Write( drawBgColorKey, ColorGetName( GetDrawBgColor() ) );
341
343
    aCfg->Write( lastLibExportPathEntry, m_lastLibExportPath );
342
344
    aCfg->Write( lastLibImportPathEntry, m_lastLibImportPath );
343
345
}
389
391
 
390
392
double LIB_EDIT_FRAME::BestZoom()
391
393
{
392
 
/* Please, note: wxMSW before version 2.9 seems have
393
 
 * problems with zoom values < 1 ( i.e. userscale > 1) and needs to be patched:
394
 
 * edit file <wxWidgets>/src/msw/dc.cpp
395
 
 * search for line static const int VIEWPORT_EXTENT = 1000;
396
 
 * and replace by static const int VIEWPORT_EXTENT = 10000;
397
 
 */
 
394
    /* Please, note: wxMSW before version 2.9 seems have
 
395
     * problems with zoom values < 1 ( i.e. userscale > 1) and needs to be patched:
 
396
     * edit file <wxWidgets>/src/msw/dc.cpp
 
397
     * search for line static const int VIEWPORT_EXTENT = 1000;
 
398
     * and replace by static const int VIEWPORT_EXTENT = 10000;
 
399
     */
398
400
    int      dx, dy;
399
401
    wxSize   size;
400
402
    EDA_RECT BoundaryBox;
750
752
        break;
751
753
 
752
754
    case ID_POPUP_LIBEDIT_DELETE_CURRENT_POLY_SEGMENT:
753
 
    {
754
 
        // Delete the last created segment, while creating a polyline draw item
755
 
        if( m_drawItem == NULL )
756
 
            break;
 
755
        {
 
756
            // Delete the last created segment, while creating a polyline draw item
 
757
            if( m_drawItem == NULL )
 
758
                break;
757
759
 
758
 
        m_canvas->MoveCursorToCrossHair();
759
 
        STATUS_FLAGS oldFlags = m_drawItem->GetFlags();
760
 
        m_drawItem->ClearFlags();
761
 
        m_drawItem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), UNSPECIFIED_COLOR, g_XorMode, NULL,
762
 
                          DefaultTransform );
763
 
        ( (LIB_POLYLINE*) m_drawItem )->DeleteSegment( GetCrossHairPosition( true ) );
764
 
        m_drawItem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), UNSPECIFIED_COLOR, g_XorMode, NULL,
765
 
                          DefaultTransform );
766
 
        m_drawItem->SetFlags( oldFlags );
767
 
        m_lastDrawItem = NULL;
 
760
            m_canvas->MoveCursorToCrossHair();
 
761
            STATUS_FLAGS oldFlags = m_drawItem->GetFlags();
 
762
            m_drawItem->ClearFlags();
 
763
            m_drawItem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), UNSPECIFIED_COLOR, g_XorMode, NULL,
 
764
                              DefaultTransform );
 
765
            ( (LIB_POLYLINE*) m_drawItem )->DeleteSegment( GetCrossHairPosition( true ) );
 
766
            m_drawItem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), UNSPECIFIED_COLOR, g_XorMode, NULL,
 
767
                              DefaultTransform );
 
768
            m_drawItem->SetFlags( oldFlags );
 
769
            m_lastDrawItem = NULL;
 
770
        }
768
771
        break;
769
 
    }
770
772
 
771
773
    case ID_POPUP_LIBEDIT_DELETE_ITEM:
772
774
        if( m_drawItem )
918
920
}
919
921
 
920
922
 
921
 
void LIB_EDIT_FRAME::SetLanguage( wxCommandEvent& event )
922
 
{
923
 
    EDA_BASE_FRAME::SetLanguage( event );
924
 
    SCH_EDIT_FRAME *parent = (SCH_EDIT_FRAME *)GetParent();
925
 
    // Call parent->EDA_BASE_FRAME::SetLanguage and NOT
926
 
    // parent->SetLanguage because parent->SetLanguage call
927
 
    // LIB_EDIT_FRAME::SetLanguage
928
 
    parent->EDA_BASE_FRAME::SetLanguage( event );
929
 
}
930
 
 
931
 
 
932
923
void LIB_EDIT_FRAME::TempCopyComponent()
933
924
{
934
925
    if( m_tempCopyComponent )