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 )
SetGrid
(
wxSize
(
50
,
50
)
);
/* pas de la grille */
m_UndoRedoCountMax
=
10
;
m_RefCount
=
0
;
m_Center
=
false
;
m_Center
=
false
;
// Suitable for schematic only. for libedit and viewlib, must be set to true
InitDatas
();
}
...
...
eeschema/libframe.cpp
View file @
ceeb27cf
...
...
@@ -72,6 +72,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
// Give an icon
SetIcon
(
wxIcon
(
libedit_xpm
)
);
SetBaseScreen
(
g_ScreenLib
);
GetScreen
()
->
m_Center
=
true
;
// set to true to have the coordinates origine -0,0) centered on screen
GetSettings
();
SetSize
(
m_FramePos
.
x
,
m_FramePos
.
y
,
m_FrameSize
.
x
,
m_FrameSize
.
y
);
if
(
DrawPanel
)
...
...
@@ -79,6 +80,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
ReCreateHToolbar
();
ReCreateVToolbar
();
DisplayLibInfos
();
BestZoom
();
Show
(
TRUE
);
}
...
...
eeschema/viewlib_frame.cpp
View file @
ceeb27cf
...
...
@@ -2,10 +2,6 @@
/* viewlib_frame.cpp - fonctions des classes du type WinEDA_ViewlibFrame */
/*************************************************************************/
#ifdef __GNUG__
#pragma implementation
#endif
#include "fctsys.h"
#include "common.h"
...
...
@@ -23,41 +19,39 @@
/* class WinEDA_ViewlibFrame */
/*****************************/
BEGIN_EVENT_TABLE
(
WinEDA_ViewlibFrame
,
wxFrame
)
COMMON_EVENTS_DRAWFRAME
EVT_CLOSE
(
WinEDA_ViewlibFrame
::
OnCloseWindow
)
EVT_SIZE
(
WinEDA_ViewlibFrame
::
OnSize
)
EVT_ACTIVATE
(
WinEDA_DrawFrame
::
OnActivate
)
COMMON_EVENTS_DRAWFRAME
EVT_CLOSE
(
WinEDA_ViewlibFrame
::
OnCloseWindow
)
EVT_SIZE
(
WinEDA_ViewlibFrame
::
OnSize
)
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
)
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
)
EVT_TOOL
(
ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC
,
EVT_TOOL
(
ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC
,
WinEDA_ViewlibFrame
::
ExportToSchematicLibraryPart
)
EVT_KICAD_CHOICEBOX
(
ID_LIBVIEW_SELECT_PART_NUMBER
,
EVT_KICAD_CHOICEBOX
(
ID_LIBVIEW_SELECT_PART_NUMBER
,
WinEDA_ViewlibFrame
::
Process_Special_Functions
)
EVT_LISTBOX
(
ID_LIBVIEW_LIB_LIST
,
WinEDA_ViewlibFrame
::
ClickOnLibList
)
EVT_LISTBOX
(
ID_LIBVIEW_CMP_LIST
,
WinEDA_ViewlibFrame
::
ClickOnCmpList
)
EVT_LISTBOX
(
ID_LIBVIEW_LIB_LIST
,
WinEDA_ViewlibFrame
::
ClickOnLibList
)
EVT_LISTBOX
(
ID_LIBVIEW_CMP_LIST
,
WinEDA_ViewlibFrame
::
ClickOnCmpList
)
END_EVENT_TABLE
()
/****************/
/* Constructeur */
/****************/
/******************************************************************************/
WinEDA_ViewlibFrame
::
WinEDA_ViewlibFrame
(
wxWindow
*
father
,
WinEDA_App
*
parent
,
LibraryStruct
*
Library
,
wxSemaphore
*
semaphore
)
:
WinEDA_DrawFrame
(
father
,
VIEWER_FRAME
,
parent
,
_
(
"Library browser"
),
wxDefaultPosition
,
wxDefaultSize
)
/******************************************************************************/
{
m_FrameName
=
wxT
(
"ViewlibFrame"
);
m_Draw_Axis
=
TRUE
;
// TRUE
pour avoir les axes dessine
s
m_Draw_Grid
=
TRUE
;
// TRUE
pour avoir la axes dessinee
m_Draw_Axis
=
TRUE
;
// TRUE
to dispaly Axi
s
m_Draw_Grid
=
TRUE
;
// TRUE
to display grid
// Give an icon
SetIcon
(
wxIcon
(
library_browse_xpm
)
);
...
...
@@ -69,7 +63,7 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father, WinEDA_App* parent,
SetWindowStyle
(
GetWindowStyle
()
|
wxSTAY_ON_TOP
);
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
)
{
...
...
@@ -99,15 +93,14 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father, WinEDA_App* parent,
if
(
m_LibList
)
ReCreateListLib
();
DisplayLibInfos
();
BestZoom
();
Show
(
TRUE
);
}
/***************/
/* Destructeur */
/***************/
/*******************************************/
WinEDA_ViewlibFrame
::~
WinEDA_ViewlibFrame
()
/*******************************************/
{
delete
GetScreen
();
SetBaseScreen
(
0
);
...
...
@@ -176,9 +169,9 @@ void WinEDA_ViewlibFrame::OnSize( wxSizeEvent& SizeEv )
}
/***********************************
********
/
/***********************************/
int
WinEDA_ViewlibFrame
::
BestZoom
()
/***********************************
********
/
/***********************************/
{
int
bestzoom
,
ii
,
jj
;
wxSize
size
,
itemsize
;
...
...
@@ -199,17 +192,10 @@ int WinEDA_ViewlibFrame::BestZoom()
itemsize
=
BoundaryBox
.
GetSize
();
size
=
DrawPanel
->
GetClientSize
();
size
.
x
-=
60
;
// Pour marges haut et bas
size
.
x
-=
60
;
// sub a margin
ii
=
itemsize
.
x
/
size
.
x
;
jj
=
itemsize
.
y
/
size
.
y
;
ii
=
MAX
(
ii
,
jj
);
/* determination du zoom existant le plus proche */
for
(
bestzoom
=
1
;
bestzoom
<
512
;
bestzoom
<<=
1
)
{
if
(
bestzoom
>
ii
)
break
;
}
bestzoom
=
MAX
(
ii
,
jj
);
GetScreen
()
->
m_Curseur
=
BoundaryBox
.
Centre
();
...
...
@@ -217,9 +203,9 @@ int WinEDA_ViewlibFrame::BestZoom()
}
/******************************************
*********
/
/******************************************/
void
WinEDA_ViewlibFrame
::
ReCreateListLib
()
/*******************************************
********
/
/*******************************************/
{
const
wxChar
**
ListNames
,
**
names
;
int
ii
;
...
...
@@ -243,8 +229,8 @@ void WinEDA_ViewlibFrame::ReCreateListLib()
free
(
ListNames
);
/*
Librairie courante peut etre non retrouv�e en list
e
* (peut etre effac�e lors d'une modification de configuration)
*/
/*
Clear current library because it can be deleted after a config chang
e
*/
if
(
!
found
)
{
g_CurrentViewLibraryName
.
Empty
();
...
...
@@ -269,8 +255,8 @@ void WinEDA_ViewlibFrame::ReCreateListCmp()
m_CmpList
->
Clear
();
ii
=
0
;
g_CurrentViewComponentName
.
Empty
();
g_ViewConvert
=
1
;
/*
Vue normal / convert
*/
g_ViewUnit
=
1
;
/*
unit� a afficher (A, B ..)
*/
g_ViewConvert
=
1
;
/*
Select normal/"de morgan" shape
*/
g_ViewUnit
=
1
;
/*
Selec unit to display for multiple parts per package
*/
if
(
Library
)
LibEntry
=
(
EDA_LibComponentStruct
*
)
PQFirst
(
&
Library
->
m_Entries
,
FALSE
);
while
(
LibEntry
)
...
...
@@ -325,7 +311,7 @@ void WinEDA_ViewlibFrame::ClickOnCmpList( 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
();
...
...
eeschema/viewlibs.cpp
View file @
ceeb27cf
...
...
@@ -3,7 +3,7 @@
/****************************/
#include "fctsys.h"
#include "gr_basic.h"
//
#include "gr_basic.h"
#include "common.h"
#include "program.h"
...
...
include/drawpanel_wxstruct.h
View file @
ceeb27cf
...
...
@@ -65,9 +65,9 @@ public:
int
m_CursorLevel
;
// Index for cursor redraw in XOR mode
/* 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 */
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 */
public
:
...
...
@@ -170,7 +170,6 @@ typedef enum { /* definition de l'etat du block */
STATE_BLOCK_END
,
/* Block initialise: 2eme point defini */
STATE_BLOCK_MOVE
,
/* Block en deplacement */
STATE_BLOCK_STOP
/* Block fixe (fin de deplacement) */
}
BlockState
;
/* codes des differentes commandes sur block: */
...
...
@@ -190,7 +189,6 @@ typedef enum {
BLOCK_SELECT_ITEMS_ONLY
,
BLOCK_MIRROR_X
,
BLOCK_MIRROR_Y
}
CmdBlockType
;
...
...
@@ -203,7 +201,7 @@ public:
* selectionnee dans le bloc */
int
m_Color
;
/* Block Color */
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
* = 0,0 in block paste */
...
...
@@ -235,13 +233,16 @@ public:
wxSize
m_SizeVisu
;
/* taille en pixels de l'ecran (fenetre de visu
* Utile pour recadrer les affichages lors de la
* 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
;
/* Gestion des editions */
SCH_ITEM
*
EEDrawList
;
/* Object list (main data) for schematic */
EDA_BaseStruct
*
m_UndoList
;
/* Object list for the undo command (old data) */
EDA_BaseStruct
*
m_RedoList
;
/* Object list for the redo command (old data) */
SCH_ITEM
*
EEDrawList
;
/* Object list (main data) for schematic */
EDA_BaseStruct
*
m_UndoList
;
/* Object list for the undo command (old data) */
EDA_BaseStruct
*
m_RedoList
;
/* Object list for the redo command (old data) */
int
m_UndoRedoCountMax
;
/* undo/Redo command Max depth */
/* block control */
...
...
@@ -322,6 +323,7 @@ public:
//----<zoom stuff>----------------------------------------------------------
/**
* Function GetZoom
* returns the current zoom factor
...
...
@@ -380,7 +382,9 @@ public:
return
wxT
(
"BASE_SCREEN"
);
}
#if defined(DEBUG)
/**
* Function Show
* is used to output the object tree, currently for debugging only.
...
...
@@ -389,8 +393,8 @@ public:
* @param os The ostream& to output to.
*/
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