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
5ce29330
Commit
5ce29330
authored
Jul 09, 2014
by
Maciej Suminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Restored support for custom angle rotation.
parent
6e0bd1ee
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
45 additions
and
19 deletions
+45
-19
wxPcbStruct.h
include/wxPcbStruct.h
+0
-6
CMakeLists.txt
pcbnew/CMakeLists.txt
+1
-0
pcb_base_edit_frame.cpp
pcbnew/pcb_base_edit_frame.cpp
+33
-0
pcb_base_edit_frame.h
pcbnew/pcb_base_edit_frame.h
+9
-1
pcbframe.cpp
pcbnew/pcbframe.cpp
+0
-10
edit_tool.cpp
pcbnew/tools/edit_tool.cpp
+2
-2
No files found.
include/wxPcbStruct.h
View file @
5ce29330
...
...
@@ -87,9 +87,6 @@ class PCB_EDIT_FRAME : public PCB_BASE_EDIT_FRAME
/// The auxiliary right vertical tool bar used to access the microwave tools.
wxAuiToolBar
*
m_microWaveToolBar
;
/// User defined rotation angle (in tenths of a degree).
int
m_rotationAngle
;
/**
* Function loadFootprints
* loads the footprints for each #COMPONENT in \a aNetlist from the list of libraries.
...
...
@@ -315,9 +312,6 @@ public:
*/
virtual
void
SetGridColor
(
EDA_COLOR_T
aColor
);
int
GetRotationAngle
()
const
{
return
m_rotationAngle
;
}
void
SetRotationAngle
(
int
aRotationAngle
);
// Configurations:
void
Process_Config
(
wxCommandEvent
&
event
);
...
...
pcbnew/CMakeLists.txt
View file @
5ce29330
...
...
@@ -160,6 +160,7 @@ set( PCBNEW_CLASS_SRCS
tool_modview.cpp
modview_frame.cpp
pcbframe.cpp
pcb_base_edit_frame.cpp
attribut.cpp
board_items_to_polygon_shape_transform.cpp
board_undo_redo.cpp
...
...
pcbnew/pcb_base_edit_frame.cpp
0 → 100644
View file @
5ce29330
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2014 CERN
* @author Maciej Suminski <maciej.suminski@cern.ch>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <pcb_base_edit_frame.h>
void
PCB_BASE_EDIT_FRAME
::
SetRotationAngle
(
int
aRotationAngle
)
{
wxCHECK2_MSG
(
aRotationAngle
>
0
&&
aRotationAngle
<=
900
,
aRotationAngle
=
900
,
wxT
(
"Invalid rotation angle, defaulting to 90."
)
);
m_rotationAngle
=
aRotationAngle
;
}
pcbnew/pcb_base_edit_frame.h
View file @
5ce29330
...
...
@@ -36,7 +36,8 @@ public:
PCB_BASE_EDIT_FRAME
(
KIWAY
*
aKiway
,
wxWindow
*
aParent
,
FRAME_T
aFrameType
,
const
wxString
&
aTitle
,
const
wxPoint
&
aPos
,
const
wxSize
&
aSize
,
long
aStyle
,
const
wxString
&
aFrameName
)
:
PCB_BASE_FRAME
(
aKiway
,
aParent
,
aFrameType
,
aTitle
,
aPos
,
aSize
,
aStyle
,
aFrameName
)
PCB_BASE_FRAME
(
aKiway
,
aParent
,
aFrameType
,
aTitle
,
aPos
,
aSize
,
aStyle
,
aFrameName
),
m_rotationAngle
(
900
)
{}
virtual
~
PCB_BASE_EDIT_FRAME
()
{};
...
...
@@ -64,6 +65,13 @@ public:
* - Get an old version of the data from Undo list
*/
virtual
void
RestoreCopyFromUndoList
(
wxCommandEvent
&
aEvent
)
=
0
;
int
GetRotationAngle
()
const
{
return
m_rotationAngle
;
}
void
SetRotationAngle
(
int
aRotationAngle
);
protected
:
/// User defined rotation angle (in tenths of a degree).
int
m_rotationAngle
;
};
#endif
pcbnew/pcbframe.cpp
View file @
5ce29330
...
...
@@ -1021,13 +1021,3 @@ void PCB_EDIT_FRAME::ToPlotter( wxCommandEvent& event )
dlg
.
ShowModal
();
}
void
PCB_EDIT_FRAME
::
SetRotationAngle
(
int
aRotationAngle
)
{
wxCHECK2_MSG
(
aRotationAngle
>
0
&&
aRotationAngle
<=
900
,
aRotationAngle
=
900
,
wxT
(
"Invalid rotation angle, defaulting to 90."
)
);
m_rotationAngle
=
aRotationAngle
;
}
pcbnew/tools/edit_tool.cpp
View file @
5ce29330
...
...
@@ -286,7 +286,7 @@ int EDIT_TOOL::Properties( TOOL_EVENT& aEvent )
int
EDIT_TOOL
::
Rotate
(
TOOL_EVENT
&
aEvent
)
{
const
SELECTION_TOOL
::
SELECTION
&
selection
=
m_selectionTool
->
GetSelection
();
PCB_BASE_
FRAME
*
editFrame
=
getEditFrame
<
PCB_BASE
_FRAME
>
();
PCB_BASE_
EDIT_FRAME
*
editFrame
=
getEditFrame
<
PCB_BASE_EDIT
_FRAME
>
();
// Shall the selection be cleared at the end?
bool
unselect
=
selection
.
Empty
();
...
...
@@ -310,7 +310,7 @@ int EDIT_TOOL::Rotate( TOOL_EVENT& aEvent )
{
BOARD_ITEM
*
item
=
selection
.
Item
<
BOARD_ITEM
>
(
i
);
item
->
Rotate
(
rotatePoint
,
900.0
/*m_frame->GetRotationAngle()*/
);
item
->
Rotate
(
rotatePoint
,
editFrame
->
GetRotationAngle
()
);
if
(
!
m_dragging
)
item
->
ViewUpdate
(
KIGFX
::
VIEW_ITEM
::
GEOMETRY
);
...
...
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