Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
ceeb27cf
Commit
ceeb27cf
authored
Dec 06, 2008
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eeschema: solved: incorrect draw origin setup for viewlib and libedit
parent
e29d89c7
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
131 additions
and
139 deletions
+131
-139
class_screen.cpp
eeschema/class_screen.cpp
+1
-1
libframe.cpp
eeschema/libframe.cpp
+2
-0
viewlib_frame.cpp
eeschema/viewlib_frame.cpp
+40
-54
viewlibs.cpp
eeschema/viewlibs.cpp
+1
-1
drawpanel_wxstruct.h
include/drawpanel_wxstruct.h
+87
-83
No files found.
eeschema/class_screen.cpp
View file @
ceeb27cf
...
@@ -110,7 +110,7 @@ SCH_SCREEN::SCH_SCREEN( KICAD_T type ) : BASE_SCREEN( type )
...
@@ -110,7 +110,7 @@ SCH_SCREEN::SCH_SCREEN( KICAD_T type ) : BASE_SCREEN( type )
SetGrid
(
wxSize
(
50
,
50
)
);
/* pas de la grille */
SetGrid
(
wxSize
(
50
,
50
)
);
/* pas de la grille */
m_UndoRedoCountMax
=
10
;
m_UndoRedoCountMax
=
10
;
m_RefCount
=
0
;
m_RefCount
=
0
;
m_Center
=
false
;
m_Center
=
false
;
// Suitable for schematic only. for libedit and viewlib, must be set to true
InitDatas
();
InitDatas
();
}
}
...
...
eeschema/libframe.cpp
View file @
ceeb27cf
...
@@ -72,6 +72,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
...
@@ -72,6 +72,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
// Give an icon
// Give an icon
SetIcon
(
wxIcon
(
libedit_xpm
)
);
SetIcon
(
wxIcon
(
libedit_xpm
)
);
SetBaseScreen
(
g_ScreenLib
);
SetBaseScreen
(
g_ScreenLib
);
GetScreen
()
->
m_Center
=
true
;
// set to true to have the coordinates origine -0,0) centered on screen
GetSettings
();
GetSettings
();
SetSize
(
m_FramePos
.
x
,
m_FramePos
.
y
,
m_FrameSize
.
x
,
m_FrameSize
.
y
);
SetSize
(
m_FramePos
.
x
,
m_FramePos
.
y
,
m_FrameSize
.
x
,
m_FrameSize
.
y
);
if
(
DrawPanel
)
if
(
DrawPanel
)
...
@@ -79,6 +80,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
...
@@ -79,6 +80,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
ReCreateHToolbar
();
ReCreateHToolbar
();
ReCreateVToolbar
();
ReCreateVToolbar
();
DisplayLibInfos
();
DisplayLibInfos
();
BestZoom
();
Show
(
TRUE
);
Show
(
TRUE
);
}
}
...
...
eeschema/viewlib_frame.cpp
View file @
ceeb27cf
...
@@ -2,10 +2,6 @@
...
@@ -2,10 +2,6 @@
/* viewlib_frame.cpp - fonctions des classes du type WinEDA_ViewlibFrame */
/* viewlib_frame.cpp - fonctions des classes du type WinEDA_ViewlibFrame */
/*************************************************************************/
/*************************************************************************/
#ifdef __GNUG__
#pragma implementation
#endif
#include "fctsys.h"
#include "fctsys.h"
#include "common.h"
#include "common.h"
...
@@ -23,41 +19,39 @@
...
@@ -23,41 +19,39 @@
/* class WinEDA_ViewlibFrame */
/* class WinEDA_ViewlibFrame */
/*****************************/
/*****************************/
BEGIN_EVENT_TABLE
(
WinEDA_ViewlibFrame
,
wxFrame
)
BEGIN_EVENT_TABLE
(
WinEDA_ViewlibFrame
,
wxFrame
)
COMMON_EVENTS_DRAWFRAME
COMMON_EVENTS_DRAWFRAME
EVT_CLOSE
(
WinEDA_ViewlibFrame
::
OnCloseWindow
)
EVT_CLOSE
(
WinEDA_ViewlibFrame
::
OnCloseWindow
)
EVT_SIZE
(
WinEDA_ViewlibFrame
::
OnSize
)
EVT_SIZE
(
WinEDA_ViewlibFrame
::
OnSize
)
EVT_ACTIVATE
(
WinEDA_DrawFrame
::
OnActivate
)
EVT_ACTIVATE
(
WinEDA_DrawFrame
::
OnActivate
)
EVT_TOOL_RANGE
(
ID_LIBVIEW_START_H_TOOL
,
ID_LIBVIEW_END_H_TOOL
,
EVT_TOOL_RANGE
(
ID_LIBVIEW_START_H_TOOL
,
ID_LIBVIEW_END_H_TOOL
,
WinEDA_ViewlibFrame
::
Process_Special_Functions
)
WinEDA_ViewlibFrame
::
Process_Special_Functions
)
EVT_TOOL_RANGE
(
ID_ZOOM_IN_BUTT
,
ID_ZOOM_PAGE_BUTT
,
EVT_TOOL_RANGE
(
ID_ZOOM_IN_BUTT
,
ID_ZOOM_PAGE_BUTT
,
WinEDA_DrawFrame
::
Process_Zoom
)
WinEDA_DrawFrame
::
Process_Zoom
)
EVT_TOOL
(
ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC
,
EVT_TOOL
(
ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC
,
WinEDA_ViewlibFrame
::
ExportToSchematicLibraryPart
)
WinEDA_ViewlibFrame
::
ExportToSchematicLibraryPart
)
EVT_KICAD_CHOICEBOX
(
ID_LIBVIEW_SELECT_PART_NUMBER
,
EVT_KICAD_CHOICEBOX
(
ID_LIBVIEW_SELECT_PART_NUMBER
,
WinEDA_ViewlibFrame
::
Process_Special_Functions
)
WinEDA_ViewlibFrame
::
Process_Special_Functions
)
EVT_LISTBOX
(
ID_LIBVIEW_LIB_LIST
,
WinEDA_ViewlibFrame
::
ClickOnLibList
)
EVT_LISTBOX
(
ID_LIBVIEW_LIB_LIST
,
WinEDA_ViewlibFrame
::
ClickOnLibList
)
EVT_LISTBOX
(
ID_LIBVIEW_CMP_LIST
,
WinEDA_ViewlibFrame
::
ClickOnCmpList
)
EVT_LISTBOX
(
ID_LIBVIEW_CMP_LIST
,
WinEDA_ViewlibFrame
::
ClickOnCmpList
)
END_EVENT_TABLE
()
END_EVENT_TABLE
()
/****************/
/******************************************************************************/
/* Constructeur */
/****************/
WinEDA_ViewlibFrame
::
WinEDA_ViewlibFrame
(
wxWindow
*
father
,
WinEDA_App
*
parent
,
WinEDA_ViewlibFrame
::
WinEDA_ViewlibFrame
(
wxWindow
*
father
,
WinEDA_App
*
parent
,
LibraryStruct
*
Library
,
LibraryStruct
*
Library
,
wxSemaphore
*
semaphore
)
:
wxSemaphore
*
semaphore
)
:
WinEDA_DrawFrame
(
father
,
VIEWER_FRAME
,
parent
,
_
(
"Library browser"
),
WinEDA_DrawFrame
(
father
,
VIEWER_FRAME
,
parent
,
_
(
"Library browser"
),
wxDefaultPosition
,
wxDefaultSize
)
wxDefaultPosition
,
wxDefaultSize
)
/******************************************************************************/
{
{
m_FrameName
=
wxT
(
"ViewlibFrame"
);
m_FrameName
=
wxT
(
"ViewlibFrame"
);
m_Draw_Axis
=
TRUE
;
// TRUE
pour avoir les axes dessine
s
m_Draw_Axis
=
TRUE
;
// TRUE
to dispaly Axi
s
m_Draw_Grid
=
TRUE
;
// TRUE
pour avoir la axes dessinee
m_Draw_Grid
=
TRUE
;
// TRUE
to display grid
// Give an icon
// Give an icon
SetIcon
(
wxIcon
(
library_browse_xpm
)
);
SetIcon
(
wxIcon
(
library_browse_xpm
)
);
...
@@ -69,7 +63,7 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father, WinEDA_App* parent,
...
@@ -69,7 +63,7 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father, WinEDA_App* parent,
SetWindowStyle
(
GetWindowStyle
()
|
wxSTAY_ON_TOP
);
SetWindowStyle
(
GetWindowStyle
()
|
wxSTAY_ON_TOP
);
SetBaseScreen
(
new
SCH_SCREEN
()
);
SetBaseScreen
(
new
SCH_SCREEN
()
);
GetScreen
()
->
SetZoom
(
16
);
GetScreen
()
->
m_Center
=
true
;
// set to true to have the coordinates origine -0,0) centered on screen
if
(
Library
==
NULL
)
if
(
Library
==
NULL
)
{
{
...
@@ -99,15 +93,14 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father, WinEDA_App* parent,
...
@@ -99,15 +93,14 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father, WinEDA_App* parent,
if
(
m_LibList
)
if
(
m_LibList
)
ReCreateListLib
();
ReCreateListLib
();
DisplayLibInfos
();
DisplayLibInfos
();
BestZoom
();
Show
(
TRUE
);
Show
(
TRUE
);
}
}
/***************/
/*******************************************/
/* Destructeur */
/***************/
WinEDA_ViewlibFrame
::~
WinEDA_ViewlibFrame
()
WinEDA_ViewlibFrame
::~
WinEDA_ViewlibFrame
()
/*******************************************/
{
{
delete
GetScreen
();
delete
GetScreen
();
SetBaseScreen
(
0
);
SetBaseScreen
(
0
);
...
@@ -176,9 +169,9 @@ void WinEDA_ViewlibFrame::OnSize( wxSizeEvent& SizeEv )
...
@@ -176,9 +169,9 @@ void WinEDA_ViewlibFrame::OnSize( wxSizeEvent& SizeEv )
}
}
/***********************************
********
/
/***********************************/
int
WinEDA_ViewlibFrame
::
BestZoom
()
int
WinEDA_ViewlibFrame
::
BestZoom
()
/***********************************
********
/
/***********************************/
{
{
int
bestzoom
,
ii
,
jj
;
int
bestzoom
,
ii
,
jj
;
wxSize
size
,
itemsize
;
wxSize
size
,
itemsize
;
...
@@ -199,17 +192,10 @@ int WinEDA_ViewlibFrame::BestZoom()
...
@@ -199,17 +192,10 @@ int WinEDA_ViewlibFrame::BestZoom()
itemsize
=
BoundaryBox
.
GetSize
();
itemsize
=
BoundaryBox
.
GetSize
();
size
=
DrawPanel
->
GetClientSize
();
size
=
DrawPanel
->
GetClientSize
();
size
.
x
-=
60
;
// Pour marges haut et bas
size
.
x
-=
60
;
// sub a margin
ii
=
itemsize
.
x
/
size
.
x
;
ii
=
itemsize
.
x
/
size
.
x
;
jj
=
itemsize
.
y
/
size
.
y
;
jj
=
itemsize
.
y
/
size
.
y
;
ii
=
MAX
(
ii
,
jj
);
bestzoom
=
MAX
(
ii
,
jj
);
/* determination du zoom existant le plus proche */
for
(
bestzoom
=
1
;
bestzoom
<
512
;
bestzoom
<<=
1
)
{
if
(
bestzoom
>
ii
)
break
;
}
GetScreen
()
->
m_Curseur
=
BoundaryBox
.
Centre
();
GetScreen
()
->
m_Curseur
=
BoundaryBox
.
Centre
();
...
@@ -217,9 +203,9 @@ int WinEDA_ViewlibFrame::BestZoom()
...
@@ -217,9 +203,9 @@ int WinEDA_ViewlibFrame::BestZoom()
}
}
/******************************************
*********
/
/******************************************/
void
WinEDA_ViewlibFrame
::
ReCreateListLib
()
void
WinEDA_ViewlibFrame
::
ReCreateListLib
()
/*******************************************
********
/
/*******************************************/
{
{
const
wxChar
**
ListNames
,
**
names
;
const
wxChar
**
ListNames
,
**
names
;
int
ii
;
int
ii
;
...
@@ -243,8 +229,8 @@ void WinEDA_ViewlibFrame::ReCreateListLib()
...
@@ -243,8 +229,8 @@ void WinEDA_ViewlibFrame::ReCreateListLib()
free
(
ListNames
);
free
(
ListNames
);
/*
Librairie courante peut etre non retrouv�e en list
e
/*
Clear current library because it can be deleted after a config chang
e
* (peut etre effac�e lors d'une modification de configuration)
*/
*/
if
(
!
found
)
if
(
!
found
)
{
{
g_CurrentViewLibraryName
.
Empty
();
g_CurrentViewLibraryName
.
Empty
();
...
@@ -269,8 +255,8 @@ void WinEDA_ViewlibFrame::ReCreateListCmp()
...
@@ -269,8 +255,8 @@ void WinEDA_ViewlibFrame::ReCreateListCmp()
m_CmpList
->
Clear
();
m_CmpList
->
Clear
();
ii
=
0
;
ii
=
0
;
g_CurrentViewComponentName
.
Empty
();
g_CurrentViewComponentName
.
Empty
();
g_ViewConvert
=
1
;
/*
Vue normal / convert
*/
g_ViewConvert
=
1
;
/*
Select normal/"de morgan" shape
*/
g_ViewUnit
=
1
;
/*
unit� a afficher (A, B ..)
*/
g_ViewUnit
=
1
;
/*
Selec unit to display for multiple parts per package
*/
if
(
Library
)
if
(
Library
)
LibEntry
=
(
EDA_LibComponentStruct
*
)
PQFirst
(
&
Library
->
m_Entries
,
FALSE
);
LibEntry
=
(
EDA_LibComponentStruct
*
)
PQFirst
(
&
Library
->
m_Entries
,
FALSE
);
while
(
LibEntry
)
while
(
LibEntry
)
...
@@ -325,7 +311,7 @@ void WinEDA_ViewlibFrame::ClickOnCmpList( wxCommandEvent& event )
...
@@ -325,7 +311,7 @@ void WinEDA_ViewlibFrame::ClickOnCmpList( wxCommandEvent& event )
void
WinEDA_ViewlibFrame
::
ExportToSchematicLibraryPart
(
wxCommandEvent
&
event
)
void
WinEDA_ViewlibFrame
::
ExportToSchematicLibraryPart
(
wxCommandEvent
&
event
)
/****************************************************************************/
/****************************************************************************/
/* Export t
o schematic the current viewed component,
and close the library browser
/* Export t
he current component to schematic
and close the library browser
*/
*/
{
{
int
ii
=
m_CmpList
->
GetSelection
();
int
ii
=
m_CmpList
->
GetSelection
();
...
...
eeschema/viewlibs.cpp
View file @
ceeb27cf
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
/****************************/
/****************************/
#include "fctsys.h"
#include "fctsys.h"
#include "gr_basic.h"
//
#include "gr_basic.h"
#include "common.h"
#include "common.h"
#include "program.h"
#include "program.h"
...
...
include/drawpanel_wxstruct.h
View file @
ceeb27cf
...
@@ -65,9 +65,9 @@ public:
...
@@ -65,9 +65,9 @@ public:
int
m_CursorLevel
;
// Index for cursor redraw in XOR mode
int
m_CursorLevel
;
// Index for cursor redraw in XOR mode
/* Cursor management (used in editing functions) */
/* Cursor management (used in editing functions) */
void
(
*
ManageCurseur
)(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
bool
erase
);
/* Fonction d'affichage sur deplacement souris
void
(
*
ManageCurseur
)(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
bool
erase
);
/* Fonction d'affichage sur deplacement souris
* si erase : effacement ancien affichage */
* si erase : effacement ancien affichage */
void
(
*
ForceCloseManageCurseur
)(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
);
/* Fonction de fermeture forc�
void
(
*
ForceCloseManageCurseur
)(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
);
/* Fonction de fermeture forc�
* de la fonction ManageCurseur */
* de la fonction ManageCurseur */
public
:
public
:
...
@@ -170,7 +170,6 @@ typedef enum { /* definition de l'etat du block */
...
@@ -170,7 +170,6 @@ typedef enum { /* definition de l'etat du block */
STATE_BLOCK_END
,
/* Block initialise: 2eme point defini */
STATE_BLOCK_END
,
/* Block initialise: 2eme point defini */
STATE_BLOCK_MOVE
,
/* Block en deplacement */
STATE_BLOCK_MOVE
,
/* Block en deplacement */
STATE_BLOCK_STOP
/* Block fixe (fin de deplacement) */
STATE_BLOCK_STOP
/* Block fixe (fin de deplacement) */
}
BlockState
;
}
BlockState
;
/* codes des differentes commandes sur block: */
/* codes des differentes commandes sur block: */
...
@@ -190,7 +189,6 @@ typedef enum {
...
@@ -190,7 +189,6 @@ typedef enum {
BLOCK_SELECT_ITEMS_ONLY
,
BLOCK_SELECT_ITEMS_ONLY
,
BLOCK_MIRROR_X
,
BLOCK_MIRROR_X
,
BLOCK_MIRROR_Y
BLOCK_MIRROR_Y
}
CmdBlockType
;
}
CmdBlockType
;
...
@@ -203,7 +201,7 @@ public:
...
@@ -203,7 +201,7 @@ public:
* selectionnee dans le bloc */
* selectionnee dans le bloc */
int
m_Color
;
/* Block Color */
int
m_Color
;
/* Block Color */
wxPoint
m_MoveVector
;
/* Move distance in move, drag, copy ... command */
wxPoint
m_MoveVector
;
/* Move distance in move, drag, copy ... command */
wxPoint
m_BlockLastCursorPosition
;
/* Last Mouse position in block command
wxPoint
m_BlockLastCursorPosition
;
/* Last Mouse position in block command
* = last cursor position in move commands
* = last cursor position in move commands
* = 0,0 in block paste */
* = 0,0 in block paste */
...
@@ -235,13 +233,16 @@ public:
...
@@ -235,13 +233,16 @@ public:
wxSize
m_SizeVisu
;
/* taille en pixels de l'ecran (fenetre de visu
wxSize
m_SizeVisu
;
/* taille en pixels de l'ecran (fenetre de visu
* Utile pour recadrer les affichages lors de la
* Utile pour recadrer les affichages lors de la
* navigation dans la hierarchie */
* navigation dans la hierarchie */
bool
m_Center
;
// TRUE: coord algebriques, FALSE: coord >= 0
bool
m_Center
;
/* fix the coordinate (0,0) position on screen : if TRUE (0,0) in centered on screen
* TRUE: when coordiantaes can be < 0 and > 0 all but schematic
* FALSE: when coordinates can be only >= 0 Schematic
*/
bool
m_FirstRedraw
;
bool
m_FirstRedraw
;
/* Gestion des editions */
/* Gestion des editions */
SCH_ITEM
*
EEDrawList
;
/* Object list (main data) for schematic */
SCH_ITEM
*
EEDrawList
;
/* Object list (main data) for schematic */
EDA_BaseStruct
*
m_UndoList
;
/* Object list for the undo command (old data) */
EDA_BaseStruct
*
m_UndoList
;
/* Object list for the undo command (old data) */
EDA_BaseStruct
*
m_RedoList
;
/* Object list for the redo command (old data) */
EDA_BaseStruct
*
m_RedoList
;
/* Object list for the redo command (old data) */
int
m_UndoRedoCountMax
;
/* undo/Redo command Max depth */
int
m_UndoRedoCountMax
;
/* undo/Redo command Max depth */
/* block control */
/* block control */
...
@@ -322,6 +323,7 @@ public:
...
@@ -322,6 +323,7 @@ public:
//----<zoom stuff>----------------------------------------------------------
//----<zoom stuff>----------------------------------------------------------
/**
/**
* Function GetZoom
* Function GetZoom
* returns the current zoom factor
* returns the current zoom factor
...
@@ -380,7 +382,9 @@ public:
...
@@ -380,7 +382,9 @@ public:
return
wxT
(
"BASE_SCREEN"
);
return
wxT
(
"BASE_SCREEN"
);
}
}
#if defined(DEBUG)
#if defined(DEBUG)
/**
/**
* Function Show
* Function Show
* is used to output the object tree, currently for debugging only.
* is used to output the object tree, currently for debugging only.
...
@@ -389,8 +393,8 @@ public:
...
@@ -389,8 +393,8 @@ public:
* @param os The ostream& to output to.
* @param os The ostream& to output to.
*/
*/
void
Show
(
int
nestLevel
,
std
::
ostream
&
os
);
void
Show
(
int
nestLevel
,
std
::
ostream
&
os
);
#endif
#endif
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment