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
3c5f3f70
Commit
3c5f3f70
authored
Feb 12, 2015
by
John Beard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add create array tool
parent
4f3672da
Changes
24
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
6352 additions
and
5 deletions
+6352
-5
CMakeLists.txt
bitmaps_png/CMakeLists.txt
+3
-0
array_line.cpp
bitmaps_png/cpp_26/array_line.cpp
+54
-0
array_pad.cpp
bitmaps_png/cpp_26/array_pad.cpp
+77
-0
array_text.cpp
bitmaps_png/cpp_26/array_text.cpp
+39
-0
array_line.svg
bitmaps_png/sources/array_line.svg
+44
-0
array_pad.svg
bitmaps_png/sources/array_pad.svg
+44
-0
array_text.svg
bitmaps_png/sources/array_text.svg
+44
-0
bitmaps.h
include/bitmaps.h
+3
-0
CMakeLists.txt
pcbnew/CMakeLists.txt
+2
-0
dialog_create_array.cpp
pcbnew/dialogs/dialog_create_array.cpp
+482
-0
dialog_create_array.h
pcbnew/dialogs/dialog_create_array.h
+346
-0
dialog_create_array_base.cpp
pcbnew/dialogs/dialog_create_array_base.cpp
+320
-0
dialog_create_array_base.fbp
pcbnew/dialogs/dialog_create_array_base.fbp
+4608
-0
dialog_create_array_base.h
pcbnew/dialogs/dialog_create_array_base.h
+117
-0
hotkeys.cpp
pcbnew/hotkeys.cpp
+2
-2
hotkeys.h
pcbnew/hotkeys.h
+1
-0
hotkeys_module_editor.cpp
pcbnew/hotkeys_module_editor.cpp
+3
-0
modedit.cpp
pcbnew/modedit.cpp
+41
-1
modedit_onclick.cpp
pcbnew/modedit_onclick.cpp
+13
-1
pcbnew_id.h
pcbnew/pcbnew_id.h
+1
-0
common_actions.cpp
pcbnew/tools/common_actions.cpp
+4
-0
common_actions.h
pcbnew/tools/common_actions.h
+3
-0
module_tools.cpp
pcbnew/tools/module_tools.cpp
+94
-1
module_tools.h
pcbnew/tools/module_tools.h
+7
-0
No files found.
bitmaps_png/CMakeLists.txt
View file @
3c5f3f70
...
@@ -151,6 +151,9 @@ set( BMAPS_MID
...
@@ -151,6 +151,9 @@ set( BMAPS_MID
annotate_down_right
annotate_down_right
annotate_right_down
annotate_right_down
annotate
annotate
array_line
array_pad
array_text
auto_associe
auto_associe
auto_delete_track
auto_delete_track
auto_track_width
auto_track_width
...
...
bitmaps_png/cpp_26/array_line.cpp
0 → 100644
View file @
3c5f3f70
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps.h>
static
const
unsigned
char
png
[]
=
{
0x89
,
0x50
,
0x4e
,
0x47
,
0x0d
,
0x0a
,
0x1a
,
0x0a
,
0x00
,
0x00
,
0x00
,
0x0d
,
0x49
,
0x48
,
0x44
,
0x52
,
0x00
,
0x00
,
0x00
,
0x1a
,
0x00
,
0x00
,
0x00
,
0x1a
,
0x08
,
0x06
,
0x00
,
0x00
,
0x00
,
0xa9
,
0x4a
,
0x4c
,
0xce
,
0x00
,
0x00
,
0x02
,
0x51
,
0x49
,
0x44
,
0x41
,
0x54
,
0x48
,
0xc7
,
0xa5
,
0x96
,
0x4f
,
0x6c
,
0x4c
,
0x51
,
0x14
,
0xc6
,
0x7f
,
0xa3
,
0xff
,
0xa4
,
0xd5
,
0x4a
,
0x34
,
0xb5
,
0x20
,
0x4d
,
0xc5
,
0x42
,
0x5a
,
0x74
,
0xa9
,
0x34
,
0x44
,
0x42
,
0x10
,
0x82
,
0x48
,
0x2c
,
0x84
,
0x88
,
0x58
,
0x58
,
0xd0
,
0x8d
,
0xda
,
0x48
,
0x49
,
0xa4
,
0xe9
,
0x06
,
0x8b
,
0x62
,
0x31
,
0xb4
,
0xe3
,
0xdd
,
0x73
,
0xdf
,
0x8c
,
0x69
,
0xaa
,
0x99
,
0x94
,
0x11
,
0xed
,
0x58
,
0xb1
,
0x60
,
0x67
,
0x6d
,
0x65
,
0x6b
,
0x63
,
0x67
,
0x61
,
0x23
,
0xb1
,
0x20
,
0xd7
,
0xe6
,
0x78
,
0xf3
,
0x5a
,
0x33
,
0xef
,
0xde
,
0xc6
,
0xe2
,
0x25
,
0x2f
,
0x99
,
0xef
,
0xe4
,
0x77
,
0xee
,
0x79
,
0xe7
,
0xfb
,
0xee
,
0xe0
,
0x9c
,
0x23
,
0xf4
,
0x61
,
0x8a
,
0x75
,
0x6b
,
0xd2
,
0x43
,
0x2e
,
0x79
,
0x0f
,
0x2e
,
0x12
,
0xc6
,
0x10
,
0xde
,
0x11
,
0xd3
,
0x1d
,
0xa4
,
0x37
,
0x5c
,
0xc4
,
0x30
,
0xc1
,
0x7b
,
0x5a
,
0x83
,
0x41
,
0x08
,
0x67
,
0x11
,
0x7e
,
0x23
,
0x38
,
0x84
,
0x9b
,
0x01
,
0x90
,
0x13
,
0x08
,
0x35
,
0x84
,
0x1a
,
0x31
,
0x87
,
0x82
,
0x40
,
0x58
,
0x0e
,
0x22
,
0xfc
,
0x54
,
0xc8
,
0x0b
,
0xdf
,
0xf8
,
0x88
,
0x19
,
0x45
,
0x58
,
0x56
,
0xd0
,
0x58
,
0xd0
,
0xe8
,
0x88
,
0x18
,
0x46
,
0xf8
,
0xae
,
0x90
,
0x0f
,
0xe4
,
0xe9
,
0xf0
,
0x9c
,
0x64
,
0x17
,
0x42
,
0x15
,
0xa1
,
0x86
,
0xe5
,
0x36
,
0x2e
,
0xe0
,
0x1b
,
0x61
,
0x19
,
0x40
,
0xf8
,
0xaa
,
0x90
,
0x4f
,
0x44
,
0x6c
,
0xf4
,
0x9c
,
0x7c
,
0x00
,
0xa1
,
0xa2
,
0x27
,
0xb9
,
0x4f
,
0x44
,
0xdb
,
0x8a
,
0xdf
,
0x1b
,
0x16
,
0x95
,
0xe9
,
0x45
,
0xf8
,
0xac
,
0x90
,
0x2f
,
0xc4
,
0x6c
,
0xc9
,
0x84
,
0x14
,
0xe9
,
0x43
,
0x78
,
0xa6
,
0x90
,
0x27
,
0xcc
,
0xd1
,
0xf5
,
0x8f
,
0xa6
,
0xc1
,
0xb8
,
0x3a
,
0x11
,
0x3e
,
0x2a
,
0xe4
,
0x1b
,
0x11
,
0x83
,
0x9e
,
0x6f
,
0xd2
,
0x8d
,
0x50
,
0x50
,
0x48
,
0x91
,
0x32
,
0xbd
,
0x0d
,
0x75
,
0xab
,
0x7c
,
0xd2
,
0x8a
,
0xe1
,
0x8d
,
0x42
,
0x7e
,
0x10
,
0x33
,
0x9a
,
0x09
,
0xc9
,
0xd3
,
0x81
,
0x61
,
0x5a
,
0x21
,
0x0b
,
0xcc
,
0xd0
,
0xdf
,
0x54
,
0xbb
,
0x6a
,
0xce
,
0x25
,
0x85
,
0xfc
,
0xc2
,
0x70
,
0x2a
,
0x13
,
0xb2
,
0x48
,
0x0b
,
0x86
,
0x49
,
0x85
,
0x54
,
0x11
,
0x86
,
0x32
,
0xf5
,
0xa9
,
0x8d
,
0xb9
,
0xa7
,
0x10
,
0x87
,
0x70
,
0x25
,
0xc0
,
0x5b
,
0xd7
,
0x75
,
0xbb
,
0x96
,
0x88
,
0xd8
,
0xeb
,
0xd5
,
0x6b
,
0xd1
,
0x85
,
0x04
,
0x62
,
0xb8
,
0x13
,
0x00
,
0x39
,
0x93
,
0x32
,
0xe4
,
0xb1
,
0x20
,
0xd3
,
0x3b
,
0xe7
,
0x60
,
0x86
,
0x0d
,
0x08
,
0x6f
,
0x11
,
0x66
,
0x9b
,
0x0a
,
0x0b
,
0x6c
,
0x45
,
0x38
,
0xec
,
0x9c
,
0x83
,
0x79
,
0x7a
,
0x30
,
0x3c
,
0xc2
,
0x72
,
0x3e
,
0xc3
,
0x53
,
0x3b
,
0xd2
,
0x27
,
0x4d
,
0xcf
,
0xbc
,
0xbd
,
0x99
,
0xeb
,
0xb1
,
0x6c
,
0xc2
,
0x10
,
0xeb
,
0xa8
,
0x8e
,
0xeb
,
0xe2
,
0xb4
,
0x7b
,
0x9a
,
0x7a
,
0x8e
,
0x65
,
0x09
,
0x61
,
0x5f
,
0x58
,
0x04
,
0x4d
,
0xd3
,
0x85
,
0xe1
,
0xb1
,
0x8e
,
0xaa
,
0x4c
,
0x91
,
0x3e
,
0x8f
,
0x71
,
0xeb
,
0x4d
,
0x19
,
0x9e
,
0xfe
,
0x0d
,
0x61
,
0x5f
,
0x04
,
0xb5
,
0xe9
,
0x92
,
0xd4
,
0x10
,
0x2a
,
0x14
,
0xd8
,
0xe6
,
0xd1
,
0x77
,
0x22
,
0xe4
,
0x93
,
0xa6
,
0x0a
,
0x6c
,
0xf6
,
0x47
,
0x90
,
0x23
,
0x87
,
0x70
,
0x4b
,
0x8b
,
0x5e
,
0x61
,
0xd9
,
0xed
,
0x6d
,
0x4a
,
0xb8
,
0x9b
,
0x34
,
0x55
,
0x5a
,
0xd9
,
0x54
,
0x56
,
0x40
,
0x5e
,
0xd3
,
0xa2
,
0x65
,
0x2c
,
0xfb
,
0xb3
,
0x37
,
0x8a
,
0x1c
,
0x96
,
0x89
,
0xa4
,
0xa9
,
0x88
,
0x61
,
0x6f
,
0x04
,
0x29
,
0xe4
,
0x5c
,
0xb2
,
0xbe
,
0x96
,
0x93
,
0x01
,
0x57
,
0xc9
,
0xd5
,
0xa4
,
0xa9
,
0x88
,
0x03
,
0xde
,
0x64
,
0x50
,
0x8f
,
0x1c
,
0x4d
,
0x41
,
0x2e
,
0x05
,
0x5c
,
0x72
,
0xe9
,
0xa6
,
0x4e
,
0x87
,
0x46
,
0xd0
,
0x88
,
0xae
,
0x64
,
0x0d
,
0xc3
,
0x78
,
0x00
,
0xe4
,
0x48
,
0x0a
,
0x72
,
0x39
,
0x2c
,
0x82
,
0x22
,
0x06
,
0x53
,
0x97
,
0xd6
,
0x24
,
0x8b
,
0xb4
,
0x78
,
0x20
,
0x7b
,
0x10
,
0x5e
,
0x2b
,
0xe8
,
0x46
,
0x68
,
0x32
,
0xf4
,
0x23
,
0x2c
,
0x68
,
0xd1
,
0x03
,
0xef
,
0x4d
,
0x1a
,
0x31
,
0x88
,
0xe5
,
0xa5
,
0xea
,
0xa7
,
0x7c
,
0x4d
,
0xd5
,
0x41
,
0x45
,
0x76
,
0x22
,
0x54
,
0xd2
,
0x06
,
0xf3
,
0x7c
,
0xfc
,
0x11
,
0x84
,
0x2a
,
0x96
,
0x87
,
0x94
,
0x58
,
0x1f
,
0x9c
,
0x75
,
0xce
,
0x39
,
0x98
,
0x65
,
0x3b
,
0x73
,
0x75
,
0x83
,
0x05
,
0x04
,
0xeb
,
0x10
,
0xf3
,
0xf4
,
0x04
,
0xeb
,
0xd7
,
0xf2
,
0x87
,
0xf0
,
0x7f
,
0x9e
,
0x3f
,
0x6d
,
0x57
,
0x45
,
0xa7
,
0xea
,
0xac
,
0xbd
,
0xc8
,
0x00
,
0x00
,
0x00
,
0x00
,
0x49
,
0x45
,
0x4e
,
0x44
,
0xae
,
0x42
,
0x60
,
0x82
,
};
const
BITMAP_OPAQUE
array_line_xpm
[
1
]
=
{{
png
,
sizeof
(
png
),
"array_line_xpm"
}};
//EOF
bitmaps_png/cpp_26/array_pad.cpp
0 → 100644
View file @
3c5f3f70
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps.h>
static
const
unsigned
char
png
[]
=
{
0x89
,
0x50
,
0x4e
,
0x47
,
0x0d
,
0x0a
,
0x1a
,
0x0a
,
0x00
,
0x00
,
0x00
,
0x0d
,
0x49
,
0x48
,
0x44
,
0x52
,
0x00
,
0x00
,
0x00
,
0x1a
,
0x00
,
0x00
,
0x00
,
0x1a
,
0x08
,
0x06
,
0x00
,
0x00
,
0x00
,
0xa9
,
0x4a
,
0x4c
,
0xce
,
0x00
,
0x00
,
0x03
,
0xbd
,
0x49
,
0x44
,
0x41
,
0x54
,
0x48
,
0xc7
,
0xbd
,
0x96
,
0xdd
,
0x4b
,
0x54
,
0x41
,
0x18
,
0xc6
,
0x67
,
0x3f
,
0xdc
,
0x2b
,
0x53
,
0x28
,
0x93
,
0xa0
,
0x08
,
0xef
,
0x14
,
0x8a
,
0x4c
,
0x44
,
0x2c
,
0x8c
,
0x2d
,
0xcb
,
0x4a
,
0xc1
,
0x7f
,
0xa0
,
0x8b
,
0xfe
,
0x82
,
0xa0
,
0x8b
,
0x8c
,
0x22
,
0xf2
,
0x63
,
0x3d
,
0x47
,
0x57
,
0x4b
,
0xca
,
0x42
,
0xd4
,
0xf5
,
0xb3
,
0x14
,
0xf3
,
0x83
,
0x5c
,
0x95
,
0x45
,
0x02
,
0x15
,
0x0c
,
0xfb
,
0x07
,
0x8a
,
0x84
,
0x10
,
0x25
,
0x23
,
0x24
,
0x24
,
0xa2
,
0x8b
,
0x6e
,
0x82
,
0xbc
,
0xc8
,
0xde
,
0xdf
,
0x38
,
0x47
,
0x8f
,
0xeb
,
0x6e
,
0x7a
,
0x61
,
0x5d
,
0x3c
,
0x9c
,
0x61
,
0xce
,
0xcc
,
0x3c
,
0xf3
,
0x3e
,
0xef
,
0x33
,
0xef
,
0x8c
,
0x5a
,
0x5f
,
0x5f
,
0x57
,
0xff
,
0x03
,
0x89
,
0x3b
,
0x43
,
0xea
,
0xa0
,
0xa0
,
0x54
,
0x50
,
0xae
,
0xc2
,
0xea
,
0xf0
,
0xae
,
0x8b
,
0x34
,
0xaa
,
0x74
,
0x65
,
0xa9
,
0x02
,
0x55
,
0xa5
,
0xf2
,
0xd5
,
0x1d
,
0x75
,
0x60
,
0x57
,
0x22
,
0x59
,
0x38
,
0x43
,
0x30
,
0xa1
,
0x6a
,
0xd5
,
0x6f
,
0xf9
,
0x7e
,
0xd7
,
0xd8
,
0x68
,
0xcf
,
0xaa
,
0x3a
,
0x75
,
0x74
,
0xc7
,
0xe4
,
0xb0
,
0x3a
,
0x14
,
0xa8
,
0x0b
,
0xd4
,
0xcb
,
0x98
,
0x58
,
0xea
,
0x83
,
0xd4
,
0xc1
,
0xd4
,
0x86
,
0xd4
,
0x41
,
0xda
,
0x7e
,
0xcb
,
0x5f
,
0x29
,
0x73
,
0xd2
,
0x12
,
0x12
,
0x19
,
0x92
,
0xaf
,
0x82
,
0xcf
,
0x82
,
0x69
,
0x41
,
0x4c
,
0xa3
,
0x46
,
0x4d
,
0xc9
,
0xf7
,
0x93
,
0xe0
,
0x87
,
0x20
,
0xcb
,
0x35
,
0x3e
,
0xd3
,
0x67
,
0xfb
,
0x86
,
0x73
,
0x9f
,
0x9d
,
0xea
,
0x6e
,
0x5d
,
0x7e
,
0x64
,
0x8d
,
0x7c
,
0xeb
,
0xab
,
0x02
,
0x4f
,
0x16
,
0x1f
,
0xda
,
0x39
,
0x1d
,
0xd9
,
0xbd
,
0xf2
,
0x6f
,
0xc0
,
0x4d
,
0xe6
,
0x26
,
0x9a
,
0x30
,
0x24
,
0x31
,
0x43
,
0xf4
,
0x41
,
0xb0
,
0x20
,
0x98
,
0x31
,
0x7d
,
0x1f
,
0x65
,
0xb7
,
0x6f
,
0x9c
,
0xf1
,
0x01
,
0x3b
,
0xd0
,
0x58
,
0x34
,
0x50
,
0x18
,
0x61
,
0xf1
,
0xc7
,
0x8b
,
0x61
,
0xfb
,
0xd2
,
0xc8
,
0x85
,
0x48
,
0x59
,
0xf4
,
0x4a
,
0x5b
,
0xcb
,
0x72
,
0x93
,
0x26
,
0x85
,
0x8c
,
0xc8
,
0xb6
,
0x11
,
0xe9
,
0x9c
,
0x6c
,
0x48
,
0x34
,
0x6d
,
0xf0
,
0xcb
,
0x7c
,
0xa3
,
0x82
,
0x35
,
0xc1
,
0x6b
,
0xc1
,
0x2b
,
0xdd
,
0xb6
,
0x55
,
0x36
,
0x32
,
0xfa
,
0x2c
,
0xdf
,
0x78
,
0xdf
,
0x97
,
0x8e
,
0x1a
,
0x7b
,
0xbe
,
0x3a
,
0x4c
,
0xdb
,
0x6f
,
0xfb
,
0xab
,
0x64
,
0xe1
,
0x7a
,
0xc1
,
0x18
,
0x64
,
0x44
,
0x86
,
0x8c
,
0x4e
,
0xce
,
0x1c
,
0xa2
,
0x52
,
0x93
,
0x93
,
0x98
,
0x89
,
0x64
,
0xca
,
0x15
,
0x29
,
0x12
,
0x2c
,
0x99
,
0x7f
,
0xab
,
0x32
,
0xf9
,
0x9a
,
0x10
,
0x05
,
0x33
,
0x9b
,
0x33
,
0xfa
,
0xd9
,
0xf9
,
0x99
,
0xfe
,
0x82
,
0x4e
,
0xaf
,
0xe5
,
0xbd
,
0xe5
,
0x8c
,
0x87
,
0x8c
,
0xc8
,
0xf8
,
0xa7
,
0x73
,
0x26
,
0x06
,
0x71
,
0x13
,
0x95
,
0xbb
,
0x88
,
0x90
,
0x2b
,
0xea
,
0x22
,
0x8a
,
0x68
,
0xd9
,
0xb6
,
0x88
,
0xae
,
0x0b
,
0x8a
,
0x8f
,
0x34
,
0x67
,
0x6a
,
0xa2
,
0xfc
,
0xe7
,
0xa7
,
0xbb
,
0xbc
,
0xb6
,
0xf7
,
0xc6
,
0x26
,
0x91
,
0x44
,
0x86
,
0x8c
,
0x9a
,
0x48
,
0x0c
,
0x82
,
0x1b
,
0xb7
,
0x88
,
0xc4
,
0xc2
,
0x5a
,
0xba
,
0x8d
,
0xc4
,
0xcf
,
0x18
,
0xb9
,
0x06
,
0x0c
,
0x09
,
0x32
,
0xce
,
0x09
,
0x26
,
0x75
,
0xbf
,
0xa5
,
0x4e
,
0xc8
,
0xf7
,
0xb8
,
0xcf
,
0xf2
,
0x8c
,
0x0f
,
0xac
,
0x76
,
0x57
,
0x57
,
0xbd
,
0xbb
,
0xdb
,
0x40
,
0x1b
,
0x32
,
0x41
,
0x05
,
0x32
,
0x92
,
0x33
,
0x0c
,
0xa2
,
0xa5
,
0x13
,
0xeb
,
0xc7
,
0x9b
,
0x61
,
0xd6
,
0xb8
,
0x2b
,
0x66
,
0x72
,
0xb2
,
0x64
,
0x22
,
0x99
,
0xd3
,
0x7d
,
0xb5
,
0x6a
,
0x51
,
0xbe
,
0x6f
,
0xd5
,
0xba
,
0xf2
,
0x80
,
0x94
,
0xba
,
0x94
,
0xa7
,
0xc5
,
0xc3
,
0x41
,
0xbd
,
0x73
,
0xc8
,
0x88
,
0x0c
,
0x19
,
0xc9
,
0x19
,
0x7d
,
0xb8
,
0x11
,
0xeb
,
0xef
,
0x74
,
0x9d
,
0x24
,
0xd8
,
0x58
,
0xf8
,
0xa3
,
0x49
,
0x7c
,
0xcc
,
0x60
,
0x52
,
0x93
,
0xd4
,
0xaa
,
0x9f
,
0xd2
,
0xce
,
0x71
,
0x6d
,
0xec
,
0x98
,
0xa7
,
0xd6
,
0x33
,
0x0a
,
0x19
,
0x91
,
0x39
,
0xf6
,
0xc6
,
0x20
,
0xb8
,
0x11
,
0xeb
,
0x73
,
0xce
,
0x92
,
0x1d
,
0xd8
,
0x2c
,
0x2c
,
0x6c
,
0xa4
,
0x5b
,
0x35
,
0x58
,
0xd3
,
0x91
,
0xb8
,
0x48
,
0xdc
,
0x64
,
0x44
,
0x86
,
0x74
,
0xe4
,
0x0c
,
0x83
,
0x20
,
0x1d
,
0xd6
,
0xe7
,
0x9c
,
0xed
,
0x5e
,
0x82
,
0xb0
,
0x30
,
0xee
,
0x22
,
0xf1
,
0xe4
,
0x44
,
0xa4
,
0x4a
,
0x5e
,
0xc3
,
0x44
,
0x4a
,
0xc9
,
0x19
,
0x06
,
0xc1
,
0x8d
,
0x89
,
0x2a
,
0x48
,
0x72
,
0x22
,
0x64
,
0x64
,
0x12
,
0x93
,
0x59
,
0x64
,
0xbf
,
0x89
,
0x08
,
0x97
,
0xb0
,
0x3d
,
0x22
,
0x05
,
0x32
,
0x20
,
0x07
,
0xb2
,
0x20
,
0x0f
,
0x32
,
0xed
,
0x45
,
0x3a
,
0xe6
,
0xfe
,
0x55
,
0x3a
,
0x12
,
0x27
,
0xfa
,
0x8e
,
0x14
,
0xf4
,
0xe5
,
0x75
,
0xf5
,
0xac
,
0xb4
,
0x86
,
0x9c
,
0xe4
,
0xf6
,
0xaf
,
0x76
,
0x56
,
0x07
,
0x87
,
0xce
,
0x76
,
0xc8
,
0x02
,
0x51
,
0x37
,
0x99
,
0x36
,
0x83
,
0xe5
,
0x19
,
0x0d
,
0x0e
,
0x17
,
0x45
,
0x18
,
0xe3
,
0x8c
,
0x67
,
0x2e
,
0x6b
,
0xb0
,
0x56
,
0x42
,
0x33
,
0x60
,
0xc5
,
0xdc
,
0xde
,
0x93
,
0x3d
,
0x0c
,
0xb6
,
0xe7
,
0x2b
,
0xc3
,
0x85
,
0x62
,
0x55
,
0x2c
,
0x8b
,
0x75
,
0xe9
,
0x83
,
0x4c
,
0x47
,
0xe6
,
0xb2
,
0xf7
,
0xc5
,
0x91
,
0x60
,
0x7b
,
0x52
,
0x7b
,
0xcb
,
0x5a
,
0x3b
,
0xec
,
0xad
,
0xef
,
0x13
,
0x39
,
0x5c
,
0x1c
,
0x32
,
0x0e
,
0x9b
,
0x39
,
0x80
,
0x15
,
0x1c
,
0x42
,
0xda
,
0x2c
,
0xc4
,
0xae
,
0x69
,
0xeb
,
0x7c
,
0xc4
,
0x1d
,
0x58
,
0x8f
,
0x73
,
0x60
,
0x2d
,
0xef
,
0x6d
,
0xda
,
0x49
,
0x0f
,
0x2c
,
0x65
,
0x82
,
0x72
,
0xc1
,
0x4e
,
0x28
,
0x1f
,
0x52
,
0x46
,
0xee
,
0x39
,
0x3b
,
0x61
,
0x01
,
0x76
,
0xcb
,
0x3f
,
0xf2
,
0xa0
,
0x93
,
0x1e
,
0x5f
,
0x82
,
0x2c
,
0xef
,
0x4d
,
0x57
,
0x09
,
0x0a
,
0x25
,
0x2f
,
0x41
,
0x52
,
0xf8
,
0x28
,
0x80
,
0xfc
,
0x2c
,
0x8b
,
0x96
,
0xb4
,
0x49
,
0x32
,
0x2d
,
0x17
,
0x51
,
0x05
,
0x32
,
0xf2
,
0x8f
,
0x64
,
0x1b
,
0x67
,
0x6d
,
0x16
,
0xd5
,
0xc2
,
0xfe
,
0xfc
,
0xf8
,
0xa2
,
0x6a
,
0x5f
,
0x1d
,
0x2d
,
0x69
,
0x4f
,
0x5c
,
0x54
,
0xa5
,
0x94
,
0x13
,
0x26
,
0xa5
,
0x1d
,
0xe8
,
0x43
,
0x67
,
0x05
,
0x6c
,
0x22
,
0x43
,
0x22
,
0x72
,
0x46
,
0x92
,
0x91
,
0xc5
,
0x58
,
0x7f
,
0xf3
,
0x9a
,
0x08
,
0xbd
,
0xbf
,
0xaf
,
0x6b
,
0x1d
,
0x63
,
0xd9
,
0xa0
,
0xdf
,
0xf2
,
0x8d
,
0x39
,
0xeb
,
0xec
,
0xb8
,
0x26
,
0xcc
,
0x4e
,
0x2a
,
0xb9
,
0xac
,
0x9c
,
0x5b
,
0x92
,
0xc8
,
0x90
,
0x00
,
0xbd
,
0xe9
,
0xc3
,
0x49
,
0xd8
,
0x36
,
0xd1
,
0xc5
,
0xd7
,
0xb4
,
0x50
,
0x5f
,
0x77
,
0x7e
,
0xe8
,
0x5c
,
0xc7
,
0xe5
,
0x97
,
0xc5
,
0x11
,
0xe6
,
0x26
,
0xbd
,
0xf8
,
0x8c
,
0x5d
,
0xd3
,
0xb8
,
0x7e
,
0x19
,
0xe0
,
0x0c
,
0x06
,
0x24
,
0x15
,
0x07
,
0x69
,
0xbb
,
0xba
,
0xce
,
0x86
,
0x73
,
0x95
,
0xe7
,
0x49
,
0x8e
,
0xba
,
0x56
,
0x5a
,
0x42
,
0x7b
,
0xbe
,
0xca
,
0x1d
,
0x32
,
0xfd
,
0xb0
,
0xe0
,
0xb1
,
0x21
,
0xfa
,
0xea
,
0x64
,
0x4a
,
0x5b
,
0x3f
,
0x40
,
0x5c
,
0x67
,
0x22
,
0xfe
,
0x71
,
0x22
,
0xc5
,
0x35
,
0x96
,
0xde
,
0x98
,
0xf6
,
0x62
,
0x4f
,
0x8f
,
0x93
,
0x6d
,
0x9d
,
0xe4
,
0x8c
,
0xa7
,
0x13
,
0x4f
,
0x28
,
0x63
,
0xcf
,
0x7d
,
0x7d
,
0x6e
,
0xfd
,
0x4b
,
0xfc
,
0x01
,
0x33
,
0x8a
,
0x28
,
0x8c
,
0xb5
,
0xeb
,
0xec
,
0xf9
,
0x00
,
0x00
,
0x00
,
0x00
,
0x49
,
0x45
,
0x4e
,
0x44
,
0xae
,
0x42
,
0x60
,
0x82
,
};
const
BITMAP_OPAQUE
array_pad_xpm
[
1
]
=
{{
png
,
sizeof
(
png
),
"array_pad_xpm"
}};
//EOF
bitmaps_png/cpp_26/array_text.cpp
0 → 100644
View file @
3c5f3f70
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include <bitmaps.h>
static
const
unsigned
char
png
[]
=
{
0x89
,
0x50
,
0x4e
,
0x47
,
0x0d
,
0x0a
,
0x1a
,
0x0a
,
0x00
,
0x00
,
0x00
,
0x0d
,
0x49
,
0x48
,
0x44
,
0x52
,
0x00
,
0x00
,
0x00
,
0x1a
,
0x00
,
0x00
,
0x00
,
0x1a
,
0x08
,
0x06
,
0x00
,
0x00
,
0x00
,
0xa9
,
0x4a
,
0x4c
,
0xce
,
0x00
,
0x00
,
0x01
,
0x59
,
0x49
,
0x44
,
0x41
,
0x54
,
0x48
,
0xc7
,
0xed
,
0x96
,
0xb1
,
0x6a
,
0x02
,
0x41
,
0x10
,
0x86
,
0x07
,
0x7c
,
0x06
,
0xad
,
0x0c
,
0xd8
,
0x48
,
0xb0
,
0x31
,
0x36
,
0xd6
,
0x22
,
0x58
,
0x5a
,
0xa4
,
0xb8
,
0x4a
,
0xc8
,
0x1b
,
0x58
,
0xa5
,
0xca
,
0x95
,
0xa9
,
0x7c
,
0x82
,
0x20
,
0xec
,
0xed
,
0xa9
,
0x98
,
0xce
,
0xca
,
0x60
,
0x93
,
0xd6
,
0x77
,
0xb1
,
0xf0
,
0x1d
,
0x0c
,
0x5c
,
0x66
,
0x6f
,
0xe6
,
0xbc
,
0xec
,
0xe6
,
0x76
,
0xdd
,
0x1c
,
0x41
,
0x10
,
0xee
,
0xe0
,
0x67
,
0x6f
,
0x66
,
0xff
,
0xe1
,
0x63
,
0xef
,
0x98
,
0x61
,
0x21
,
0x49
,
0x12
,
0xb8
,
0x86
,
0xf0
,
0x91
,
0x53
,
0x80
,
0xe8
,
0xe8
,
0x2f
,
0xe5
,
0x17
,
0x63
,
0x7c
,
0x7f
,
0xf7
,
0x97
,
0xf2
,
0x43
,
0xf4
,
0x82
,
0x42
,
0x64
,
0x74
,
0x40
,
0x7d
,
0xa2
,
0xf6
,
0x1c
,
0x67
,
0xda
,
0x73
,
0xfe
,
0xc0
,
0xb1
,
0xf2
,
0x07
,
0xa8
,
0x1d
,
0x6a
,
0x85
,
0xe0
,
0x57
,
0x5c
,
0x67
,
0x1c
,
0x67
,
0x9a
,
0x71
,
0x7e
,
0xc5
,
0x71
,
0x90
,
0x81
,
0xbe
,
0x90
,
0xda
,
0xa7
,
0x23
,
0xce
,
0x5b
,
0x3a
,
0x68
,
0xde
,
0xa2
,
0xbc
,
0xe8
,
0x93
,
0x2f
,
0x03
,
0xc9
,
0x0f
,
0x80
,
0x65
,
0x9b
,
0xf6
,
0xd6
,
0x0d
,
0x1d
,
0xb4
,
0x6e
,
0x50
,
0x7e
,
0xd9
,
0x26
,
0x1f
,
0x81
,
0x3a
,
0x00
,
0xf1
,
0x30
,
0xff
,
0x96
,
0xc5
,
0x20
,
0xda
,
0x8b
,
0x87
,
0xe4
,
0x7f
,
0xbb
,
0xc3
,
0xb5
,
0x9b
,
0xe7
,
0x8b
,
0x41
,
0xb4
,
0x17
,
0x75
,
0x53
,
0xff
,
0xef
,
0x9f
,
0x66
,
0x07
,
0xd9
,
0x7f
,
0xb4
,
0x1d
,
0x74
,
0xf6
,
0x54
,
0xa0
,
0x5b
,
0x04
,
0x89
,
0x91
,
0x0e
,
0x12
,
0xa3
,
0xcb
,
0x20
,
0xd1
,
0xd3
,
0x41
,
0xa2
,
0xe7
,
0x04
,
0xa1
,
0xe1
,
0x19
,
0x8d
,
0x27
,
0xa3
,
0x61
,
0x4f
,
0x2a
,
0x6f
,
0x87
,
0xc8
,
0x47
,
0xf4
,
0x6c
,
0x8d
,
0x86
,
0xdd
,
0xaa
,
0xbc
,
0x03
,
0x24
,
0x27
,
0xdc
,
0x90
,
0x86
,
0xe4
,
0xc4
,
0x71
,
0x9a
,
0x01
,
0x4f
,
0x0a
,
0x43
,
0x62
,
0x60
,
0xcc
,
0xba
,
0xf8
,
0xbe
,
0xd8
,
0x68
,
0x93
,
0xf2
,
0x97
,
0xa9
,
0xc9
,
0xe7
,
0x96
,
0xaf
,
0x82
,
0x72
,
0x35
,
0xe7
,
0x22
,
0xf9
,
0x84
,
0x6b
,
0x13
,
0xe9
,
0x0f
,
0xba
,
0x29
,
0x8d
,
0x9b
,
0xbc
,
0x6f
,
0x80
,
0xfe
,
0x52
,
0x93
,
0xce
,
0x2f
,
0x19
,
0x02
,
0x6c
,
0x6a
,
0xee
,
0x01
,
0xb9
,
0xa9
,
0x91
,
0x4f
,
0xf9
,
0x4b
,
0xd4
,
0x94
,
0xe9
,
0x89
,
0x7f
,
0xea
,
0xa3
,
0x0a
,
0x54
,
0x81
,
0xd2
,
0x82
,
0x45
,
0x9d
,
0x2f
,
0x15
,
0x3f
,
0x8a
,
0x54
,
0xbc
,
0xa8
,
0xdb
,
0x21
,
0x7e
,
0x35
,
0xe6
,
0xdc
,
0x0a
,
0x2d
,
0xd7
,
0xa5
,
0xd0
,
0x31
,
0xeb
,
0xbc
,
0x6a
,
0xe0
,
0x5a
,
0x17
,
0xc8
,
0x6f
,
0x28
,
0x7d
,
0x35
,
0x0d
,
0xec
,
0xf1
,
0xfb
,
0x82
,
0x00
,
0x00
,
0x00
,
0x00
,
0x49
,
0x45
,
0x4e
,
0x44
,
0xae
,
0x42
,
0x60
,
0x82
,
};
const
BITMAP_OPAQUE
array_text_xpm
[
1
]
=
{{
png
,
sizeof
(
png
),
"array_text_xpm"
}};
//EOF
bitmaps_png/sources/array_line.svg
0 → 100644
View file @
3c5f3f70
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:cc=
"http://creativecommons.org/ns#"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns=
"http://www.w3.org/2000/svg"
version=
"1.1"
width=
"48"
height=
"48"
id=
"svg18859"
>
<metadata
id=
"metadata18886"
>
<rdf:RDF>
<cc:Work
rdf:about=
""
>
<dc:format>
image/svg+xml
</dc:format>
<dc:type
rdf:resource=
"http://purl.org/dc/dcmitype/StillImage"
/>
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id=
"defs18861"
/>
<path
d=
"M 4,23 22,3"
id=
"path3376"
style=
"fill:none;stroke:#009b00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
/>
<path
d=
"M 26,23 44,3"
id=
"path3378"
style=
"opacity:0.7;fill:none;stroke:#009b00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
/>
<path
d=
"M 4,44 22,24"
id=
"path3380"
style=
"opacity:0.7;fill:none;stroke:#009b00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
/>
<path
d=
"M 26,44 44,24"
id=
"path3382"
style=
"opacity:0.7;fill:none;stroke:#009b00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
/>
</svg>
bitmaps_png/sources/array_pad.svg
0 → 100644
View file @
3c5f3f70
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:cc=
"http://creativecommons.org/ns#"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns=
"http://www.w3.org/2000/svg"
version=
"1.1"
width=
"48"
height=
"48"
id=
"svg8431"
>
<metadata
id=
"metadata8454"
>
<rdf:RDF>
<cc:Work
rdf:about=
""
>
<dc:format>
image/svg+xml
</dc:format>
<dc:type
rdf:resource=
"http://purl.org/dc/dcmitype/StillImage"
/>
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id=
"defs8433"
/>
<path
d=
"m 13,4.03125 c -4.95522,0 -8.96875,4.0135285 -8.96875,8.96875 0,4.955221 4.01353,8.96875 8.96875,8.96875 4.955222,0 8.96875,-4.013529 8.96875,-8.96875 C 21.96875,8.0447785 17.955222,4.03125 13,4.03125 z M 13,9 c 2.209139,0 4,1.790861 4,4 0,2.209139 -1.790861,4 -4,4 -2.209139,0 -4,-1.790861 -4,-4 0,-2.209139 1.790861,-4 4,-4 z"
id=
"path3763"
style=
"fill:#008000;fill-opacity:0.69803922;stroke:#008000;stroke-width:2.05555582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
/>
<path
d=
"m 34.996528,4.034722 c -4.95522,0 -8.96875,4.013529 -8.96875,8.96875 0,4.955221 4.01353,8.968749 8.96875,8.968749 4.955223,0 8.968751,-4.013528 8.968751,-8.968749 0,-4.955221 -4.013528,-8.96875 -8.968751,-8.96875 z m 0,4.96875 c 2.209139,0 4.000001,1.790861 4.000001,4 0,2.209139 -1.790862,4 -4.000001,4 -2.209139,0 -4,-1.790861 -4,-4 0,-2.209139 1.790861,-4 4,-4 z"
id=
"path9686"
style=
"opacity:0.7;fill:#a9eba1;fill-opacity:0.69803922;stroke:#008000;stroke-width:2.05555582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
/>
<path
d=
"m 13,26.03125 c -4.95522,0 -8.96875,4.013529 -8.96875,8.96875 0,4.955221 4.01353,8.96875 8.96875,8.96875 4.955222,0 8.96875,-4.013529 8.96875,-8.96875 0,-4.955221 -4.013528,-8.96875 -8.96875,-8.96875 z M 13,31 c 2.209139,0 4,1.790861 4,4 0,2.209139 -1.790861,4 -4,4 -2.209139,0 -4,-1.790861 -4,-4 0,-2.209139 1.790861,-4 4,-4 z"
id=
"path3230"
style=
"opacity:0.7;fill:#a9eba1;fill-opacity:0.69803922;stroke:#008000;stroke-width:2.05555582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
/>
<path
d=
"m 34.996528,26.034722 c -4.95522,0 -8.96875,4.013529 -8.96875,8.96875 0,4.955221 4.01353,8.968749 8.96875,8.968749 4.955223,0 8.968751,-4.013528 8.968751,-8.968749 0,-4.955221 -4.013528,-8.96875 -8.968751,-8.96875 z m 0,4.96875 c 2.209139,0 4.000001,1.790861 4.000001,4 0,2.209139 -1.790862,4 -4.000001,4 -2.209139,0 -4,-1.790861 -4,-4 0,-2.209139 1.790861,-4 4,-4 z"
id=
"path3232"
style=
"opacity:0.7;fill:#a9eba1;fill-opacity:0.69803922;stroke:#008000;stroke-width:2.05555582;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
/>
</svg>
bitmaps_png/sources/array_text.svg
0 → 100644
View file @
3c5f3f70
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:cc=
"http://creativecommons.org/ns#"
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg=
"http://www.w3.org/2000/svg"
xmlns=
"http://www.w3.org/2000/svg"
version=
"1.1"
width=
"48"
height=
"48"
id=
"svg18970"
>
<metadata
id=
"metadata18987"
>
<rdf:RDF>
<cc:Work
rdf:about=
""
>
<dc:format>
image/svg+xml
</dc:format>
<dc:type
rdf:resource=
"http://purl.org/dc/dcmitype/StillImage"
/>
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id=
"defs18972"
/>
<path
d=
"m 1,2 0,6 2,0 2,-3 4,0 0,14.5 -3,2 0,1.5 6,0 6,0 0,-1.5 -3,-2 0,-14.5 4,0 2,3 2,0 0,-6 -11,0 z"
id=
"path19013"
style=
"fill:#00009b;fill-rule:evenodd"
/>
<path
d=
"m 25,2 0,6 2,0 2,-3 4,0 0,14.5 -3,2 0,1.5 6,0 6,0 0,-1.5 -3,-2 0,-14.5 4,0 2,3 2,0 0,-6 -11,0 z"
id=
"path3308"
style=
"opacity:0.7;fill:#00009b;fill-rule:evenodd"
/>
<path
d=
"m 1,25 0,6 2,0 2,-3 4,0 0,14.5 -3,2 0,1.5 6,0 6,0 0,-1.5 -3,-2 0,-14.5 4,0 2,3 2,0 0,-6 -11,0 z"
id=
"path3310"
style=
"opacity:0.7;fill:#00009b;fill-rule:evenodd"
/>
<path
d=
"m 25,25 0,6 2,0 2,-3 4,0 0,14.5 -3,2 0,1.5 6,0 6,0 0,-1.5 -3,-2 0,-14.5 4,0 2,3 2,0 0,-6 -11,0 z"
id=
"path3312"
style=
"opacity:0.7;fill:#00009b;fill-rule:evenodd"
/>
</svg>
include/bitmaps.h
View file @
3c5f3f70
...
@@ -102,6 +102,9 @@ EXTERN_BITMAP( anchor_xpm )
...
@@ -102,6 +102,9 @@ EXTERN_BITMAP( anchor_xpm )
EXTERN_BITMAP
(
annotate_down_right_xpm
)
EXTERN_BITMAP
(
annotate_down_right_xpm
)
EXTERN_BITMAP
(
annotate_right_down_xpm
)
EXTERN_BITMAP
(
annotate_right_down_xpm
)
EXTERN_BITMAP
(
annotate_xpm
)
EXTERN_BITMAP
(
annotate_xpm
)
EXTERN_BITMAP
(
array_line_xpm
)
EXTERN_BITMAP
(
array_pad_xpm
)
EXTERN_BITMAP
(
array_text_xpm
)
EXTERN_BITMAP
(
auto_associe_xpm
)
EXTERN_BITMAP
(
auto_associe_xpm
)
EXTERN_BITMAP
(
auto_delete_track_xpm
)
EXTERN_BITMAP
(
auto_delete_track_xpm
)
EXTERN_BITMAP
(
auto_track_width_xpm
)
EXTERN_BITMAP
(
auto_track_width_xpm
)
...
...
pcbnew/CMakeLists.txt
View file @
3c5f3f70
...
@@ -46,6 +46,8 @@ set( PCBNEW_DIALOGS
...
@@ -46,6 +46,8 @@ set( PCBNEW_DIALOGS
dialogs/dialog_cleaning_options.cpp
dialogs/dialog_cleaning_options.cpp
dialogs/dialog_copper_zones.cpp
dialogs/dialog_copper_zones.cpp
dialogs/dialog_copper_zones_base.cpp
dialogs/dialog_copper_zones_base.cpp
dialogs/dialog_create_array.cpp
dialogs/dialog_create_array_base.cpp
dialogs/dialog_design_rules.cpp
dialogs/dialog_design_rules.cpp
dialogs/dialog_design_rules_base.cpp
dialogs/dialog_design_rules_base.cpp
dialogs/dialog_dimension_editor_base.cpp
dialogs/dialog_dimension_editor_base.cpp
...
...
pcbnew/dialogs/dialog_create_array.cpp
0 → 100644
View file @
3c5f3f70
This diff is collapsed.
Click to expand it.
pcbnew/dialogs/dialog_create_array.h
0 → 100644
View file @
3c5f3f70
This diff is collapsed.
Click to expand it.
pcbnew/dialogs/dialog_create_array_base.cpp
0 → 100644
View file @
3c5f3f70
This diff is collapsed.
Click to expand it.
pcbnew/dialogs/dialog_create_array_base.fbp
0 → 100644
View file @
3c5f3f70
This diff is collapsed.
Click to expand it.
pcbnew/dialogs/dialog_create_array_base.h
0 → 100644
View file @
3c5f3f70
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 6 2014)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __DIALOG_CREATE_ARRAY_BASE_H__
#define __DIALOG_CREATE_ARRAY_BASE_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
class
DIALOG_SHIM
;
#include "dialog_shim.h"
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/textctrl.h>
#include <wx/radiobox.h>
#include <wx/gbsizer.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/sizer.h>
#include <wx/panel.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/notebook.h>
#include <wx/button.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
#define wxID_DIALOG_CREATE_ARRAY 1000
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_CREATE_ARRAY_BASE
///////////////////////////////////////////////////////////////////////////////
class
DIALOG_CREATE_ARRAY_BASE
:
public
DIALOG_SHIM
{
private
:
protected
:
wxNotebook
*
m_gridTypeNotebook
;
wxPanel
*
m_gridPanel
;
wxStaticText
*
m_labelNx
;
wxTextCtrl
*
m_entryNx
;
wxStaticText
*
m_labelNy
;
wxTextCtrl
*
m_entryNy
;
wxStaticText
*
m_labelDx
;
wxTextCtrl
*
m_entryDx
;
wxStaticText
*
m_unitLabelDx
;
wxStaticText
*
m_labelDy
;
wxTextCtrl
*
m_entryDy
;
wxStaticText
*
m_unitLabelDy
;
wxStaticText
*
m_labelOffsetX
;
wxTextCtrl
*
m_entryOffsetX
;
wxStaticText
*
m_unitLabelOffsetX
;
wxStaticText
*
m_labelOffsetY
;
wxTextCtrl
*
m_entryOffsetY
;
wxStaticText
*
m_unitLabelOffsetY
;
wxStaticText
*
m_labelStagger
;
wxTextCtrl
*
m_entryStagger
;
wxRadioBox
*
m_radioBoxGridStaggerType
;
wxStaticText
*
m_labelGridStaggerType
;
wxRadioBox
*
m_radioBoxGridNumberingAxis
;
wxCheckBox
*
m_checkBoxGridReverseNumbering
;
wxCheckBox
*
m_checkBoxGridRestartNumbering
;
wxRadioBox
*
m_radioBoxGridNumberingScheme
;
wxStaticText
*
m_labelPriAxisNumbering
;
wxChoice
*
m_choicePriAxisNumbering
;
wxStaticText
*
m_labelSecAxisNumbering
;
wxChoice
*
m_choiceSecAxisNumbering
;
wxStaticText
*
m_labelGridNumberingOffset
;
wxTextCtrl
*
m_entryGridPriNumberingOffset
;
wxTextCtrl
*
m_entryGridSecNumberingOffset
;
wxPanel
*
m_circularPanel
;
wxStaticText
*
m_labelCentreX
;
wxTextCtrl
*
m_entryCentreX
;
wxStaticText
*
m_unitLabelCentreX
;
wxStaticText
*
m_labelCentreY
;
wxTextCtrl
*
m_entryCentreY
;
wxStaticText
*
m_unitLabelCentreY
;
wxStaticText
*
m_labelCircAngle
;
wxTextCtrl
*
m_entryCircAngle
;
wxStaticText
*
m_unitLabelCircAngle
;
wxStaticText
*
m_labelCircCount
;
wxTextCtrl
*
m_entryCircCount
;
wxStaticText
*
m_labelCircRotate
;
wxCheckBox
*
m_entryRotateItemsCb
;
wxCheckBox
*
m_checkBoxCircRestartNumbering
;
wxStaticText
*
m_labelCircNumbering
;
wxChoice
*
m_choiceCircNumberingType
;
wxStdDialogButtonSizer
*
m_stdButtons
;
wxButton
*
m_stdButtonsOK
;
wxButton
*
m_stdButtonsCancel
;
// Virtual event handlers, overide them in your derived class
virtual
void
OnClose
(
wxCloseEvent
&
event
)
{
event
.
Skip
();
}
virtual
void
OnParameterChanged
(
wxCommandEvent
&
event
)
{
event
.
Skip
();
}
virtual
void
OnCancelClick
(
wxCommandEvent
&
event
)
{
event
.
Skip
();
}
virtual
void
OnOkClick
(
wxCommandEvent
&
event
)
{
event
.
Skip
();
}
public
:
DIALOG_CREATE_ARRAY_BASE
(
wxWindow
*
parent
,
wxWindowID
id
=
wxID_DIALOG_CREATE_ARRAY
,
const
wxString
&
title
=
_
(
"Create array"
),
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
576
,
528
),
long
style
=
wxDEFAULT_DIALOG_STYLE
|
wxRESIZE_BORDER
);
~
DIALOG_CREATE_ARRAY_BASE
();
};
#endif //__DIALOG_CREATE_ARRAY_BASE_H__
pcbnew/hotkeys.cpp
View file @
3c5f3f70
...
@@ -112,6 +112,7 @@ static EDA_HOTKEY HkMoveItemExact( wxT( "Move Item Exactly" ), HK_MOVE_ITEM_EXAC
...
@@ -112,6 +112,7 @@ static EDA_HOTKEY HkMoveItemExact( wxT( "Move Item Exactly" ), HK_MOVE_ITEM_EXAC
static
EDA_HOTKEY
HkDuplicateItem
(
wxT
(
"Duplicate Item"
),
HK_DUPLICATE_ITEM
,
'D'
+
GR_KB_CTRL
);
static
EDA_HOTKEY
HkDuplicateItem
(
wxT
(
"Duplicate Item"
),
HK_DUPLICATE_ITEM
,
'D'
+
GR_KB_CTRL
);
static
EDA_HOTKEY
HkDuplicateItemAndIncrement
(
wxT
(
"Duplicate Item and Increment"
),
static
EDA_HOTKEY
HkDuplicateItemAndIncrement
(
wxT
(
"Duplicate Item and Increment"
),
HK_DUPLICATE_ITEM_AND_INCREMENT
,
'D'
+
GR_KB_SHIFTCTRL
);
HK_DUPLICATE_ITEM_AND_INCREMENT
,
'D'
+
GR_KB_SHIFTCTRL
);
static
EDA_HOTKEY
HkCreateArray
(
wxT
(
"Create Array"
),
HK_CREATE_ARRAY
,
'N'
+
GR_KB_CTRL
);
static
EDA_HOTKEY
HkCopyItem
(
wxT
(
"Copy Item"
),
HK_COPY_ITEM
,
'C'
);
static
EDA_HOTKEY
HkCopyItem
(
wxT
(
"Copy Item"
),
HK_COPY_ITEM
,
'C'
);
static
EDA_HOTKEY
HkDragFootprint
(
wxT
(
"Drag Item"
),
HK_DRAG_ITEM
,
'G'
);
static
EDA_HOTKEY
HkDragFootprint
(
wxT
(
"Drag Item"
),
HK_DRAG_ITEM
,
'G'
);
static
EDA_HOTKEY
HkGetAndMoveFootprint
(
wxT
(
"Get and Move Footprint"
),
HK_GET_AND_MOVE_FOOTPRINT
,
'T'
);
static
EDA_HOTKEY
HkGetAndMoveFootprint
(
wxT
(
"Get and Move Footprint"
),
HK_GET_AND_MOVE_FOOTPRINT
,
'T'
);
...
@@ -305,8 +306,7 @@ EDA_HOTKEY* board_edit_Hotkey_List[] =
...
@@ -305,8 +306,7 @@ EDA_HOTKEY* board_edit_Hotkey_List[] =
EDA_HOTKEY
*
module_edit_Hotkey_List
[]
=
{
EDA_HOTKEY
*
module_edit_Hotkey_List
[]
=
{
&
HkMoveItem
,
&
HkRotateItem
,
&
HkEditBoardItem
,
&
HkMoveItem
,
&
HkRotateItem
,
&
HkEditBoardItem
,
&
HkMoveItemExact
,
&
HkDuplicateItem
,
&
HkDuplicateItemAndIncrement
,
&
HkMoveItemExact
,
&
HkDuplicateItem
,
&
HkDuplicateItemAndIncrement
,
&
HkDelete
,
&
HkCreateArray
,
&
HkDelete
,
&
HkSaveModule
,
&
HkSaveModule
,
NULL
NULL
};
};
...
...
pcbnew/hotkeys.h
View file @
3c5f3f70
...
@@ -63,6 +63,7 @@ enum hotkey_id_commnand {
...
@@ -63,6 +63,7 @@ enum hotkey_id_commnand {
HK_EDIT_ITEM
,
HK_EDIT_ITEM
,
HK_DUPLICATE_ITEM
,
HK_DUPLICATE_ITEM
,
HK_DUPLICATE_ITEM_AND_INCREMENT
,
HK_DUPLICATE_ITEM_AND_INCREMENT
,
HK_CREATE_ARRAY
,
HK_PLACE_ITEM
,
HK_PLACE_ITEM
,
HK_SWITCH_TRACK_WIDTH_TO_NEXT
,
HK_SWITCH_TRACK_WIDTH_TO_NEXT
,
HK_SWITCH_TRACK_WIDTH_TO_PREVIOUS
,
HK_SWITCH_TRACK_WIDTH_TO_PREVIOUS
,
...
...
pcbnew/hotkeys_module_editor.cpp
View file @
3c5f3f70
...
@@ -172,6 +172,9 @@ bool FOOTPRINT_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPos
...
@@ -172,6 +172,9 @@ bool FOOTPRINT_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPos
case
HK_DUPLICATE_ITEM_AND_INCREMENT
:
case
HK_DUPLICATE_ITEM_AND_INCREMENT
:
OnHotkeyDuplicateItem
(
HK_Descr
->
m_Idcommand
);
OnHotkeyDuplicateItem
(
HK_Descr
->
m_Idcommand
);
break
;
break
;
case
HK_CREATE_ARRAY
:
PostCommandMenuEvent
(
ID_POPUP_PCB_CREATE_ARRAY
);
}
}
return
true
;
return
true
;
...
...
pcbnew/modedit.cpp
View file @
3c5f3f70
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
#include <dialog_edit_module_for_Modedit.h>
#include <dialog_edit_module_for_Modedit.h>
#include <dialog_move_exact.h>
#include <dialog_move_exact.h>
#include <dialog_create_array.h>
#include <wildcards_and_files_ext.h>
#include <wildcards_and_files_ext.h>
#include <menus_helpers.h>
#include <menus_helpers.h>
#include <footprint_wizard_frame.h>
#include <footprint_wizard_frame.h>
...
@@ -667,7 +668,46 @@ void FOOTPRINT_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
...
@@ -667,7 +668,46 @@ void FOOTPRINT_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
}
}
m_canvas
->
MoveCursorToCrossHair
();
m_canvas
->
MoveCursorToCrossHair
();
break
;
}
case
ID_POPUP_PCB_CREATE_ARRAY
:
{
BOARD_ITEM
*
item
=
GetScreen
()
->
GetCurItem
();
if
(
!
item
)
break
;
MODULE
*
module
=
static_cast
<
MODULE
*>
(
item
->
GetParent
()
);
if
(
!
module
)
break
;
DIALOG_CREATE_ARRAY
::
ARRAY_OPTIONS
*
array_opts
=
NULL
;
DIALOG_CREATE_ARRAY
dialog
(
this
,
&
array_opts
);
int
ret
=
dialog
.
ShowModal
();
if
(
ret
==
DIALOG_CREATE_ARRAY
::
CREATE_ARRAY_OK
&&
array_opts
!=
NULL
)
{
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
,
UR_MODEDIT
);
for
(
int
i
=
0
;
i
<
array_opts
->
GetArraySize
();
i
++
)
{
BOARD_ITEM
*
new_item
=
module
->
DuplicateAndAddItem
(
item
,
true
);
array_opts
->
TransformItem
(
i
,
new_item
,
new_item
->
GetCenter
()
);
if
(
new_item
->
Type
()
==
PCB_PAD_T
&&
array_opts
->
ShouldRenumberItems
()
)
{
const
std
::
string
padName
=
array_opts
->
GetItemNumber
(
i
);
static_cast
<
D_PAD
*>
(
new_item
)
->
SetPadName
(
padName
);
}
}
m_canvas
->
Refresh
();
}
break
;
break
;
}
}
...
...
pcbnew/modedit_onclick.cpp
View file @
3c5f3f70
...
@@ -324,6 +324,10 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
...
@@ -324,6 +324,10 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
msg
=
AddHotkeyName
(
_
(
"Move Pad Exactly"
),
g_Module_Editor_Hokeys_Descr
,
HK_MOVE_ITEM_EXACT
);
msg
=
AddHotkeyName
(
_
(
"Move Pad Exactly"
),
g_Module_Editor_Hokeys_Descr
,
HK_MOVE_ITEM_EXACT
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_MOVE_EXACT
,
msg
,
KiBitmap
(
move_pad_xpm
)
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_MOVE_EXACT
,
msg
,
KiBitmap
(
move_pad_xpm
)
);
msg
=
AddHotkeyName
(
_
(
"Create Pad Array"
),
g_Module_Editor_Hokeys_Descr
,
HK_CREATE_ARRAY
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_CREATE_ARRAY
,
msg
,
KiBitmap
(
array_pad_xpm
)
);
if
(
!
flags
)
if
(
!
flags
)
{
{
PopMenu
->
AppendSeparator
();
PopMenu
->
AppendSeparator
();
...
@@ -347,7 +351,7 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
...
@@ -347,7 +351,7 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_ROTATE_TEXTMODULE
,
msg
,
KiBitmap
(
rotate_field_xpm
)
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_ROTATE_TEXTMODULE
,
msg
,
KiBitmap
(
rotate_field_xpm
)
);
{
{
// Do not show option to
du
plicate value or reference fields
// Do not show option to
re
plicate value or reference fields
// (there can only be one of each)
// (there can only be one of each)
const
MODULE
*
module
=
static_cast
<
MODULE
*>
(
item
->
GetParent
()
);
const
MODULE
*
module
=
static_cast
<
MODULE
*>
(
item
->
GetParent
()
);
...
@@ -359,6 +363,11 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
...
@@ -359,6 +363,11 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
g_Module_Editor_Hokeys_Descr
,
HK_DUPLICATE_ITEM
);
g_Module_Editor_Hokeys_Descr
,
HK_DUPLICATE_ITEM
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_DUPLICATE_ITEM
,
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_DUPLICATE_ITEM
,
msg
,
KiBitmap
(
duplicate_text_xpm
)
);
msg
,
KiBitmap
(
duplicate_text_xpm
)
);
msg
=
AddHotkeyName
(
_
(
"Create Text Array"
),
g_Module_Editor_Hokeys_Descr
,
HK_CREATE_ARRAY
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_CREATE_ARRAY
,
msg
,
KiBitmap
(
array_text_xpm
)
);
}
}
}
}
...
@@ -399,6 +408,9 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
...
@@ -399,6 +408,9 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
msg
=
AddHotkeyName
(
_
(
"Move Edge Exactly"
),
g_Module_Editor_Hokeys_Descr
,
HK_MOVE_ITEM_EXACT
);
msg
=
AddHotkeyName
(
_
(
"Move Edge Exactly"
),
g_Module_Editor_Hokeys_Descr
,
HK_MOVE_ITEM_EXACT
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_MOVE_EXACT
,
msg
,
KiBitmap
(
move_line_xpm
)
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_MOVE_EXACT
,
msg
,
KiBitmap
(
move_line_xpm
)
);
msg
=
AddHotkeyName
(
_
(
"Create Edge Array"
),
g_Module_Editor_Hokeys_Descr
,
HK_CREATE_ARRAY
);
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_CREATE_ARRAY
,
msg
,
KiBitmap
(
array_line_xpm
)
);
if
(
(
flags
&
(
IS_NEW
|
IS_MOVED
)
)
==
IS_MOVED
)
if
(
(
flags
&
(
IS_NEW
|
IS_MOVED
)
)
==
IS_MOVED
)
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_PLACE_EDGE
,
_
(
"Place edge"
),
AddMenuItem
(
PopMenu
,
ID_POPUP_PCB_PLACE_EDGE
,
_
(
"Place edge"
),
KiBitmap
(
checked_ok_xpm
)
);
KiBitmap
(
checked_ok_xpm
)
);
...
...
pcbnew/pcbnew_id.h
View file @
3c5f3f70
...
@@ -64,6 +64,7 @@ enum pcbnew_ids
...
@@ -64,6 +64,7 @@ enum pcbnew_ids
ID_POPUP_PCB_DUPLICATE_ITEM
,
ID_POPUP_PCB_DUPLICATE_ITEM
,
ID_POPUP_PCB_DUPLICATE_ITEM_AND_INCREMENT
,
ID_POPUP_PCB_DUPLICATE_ITEM_AND_INCREMENT
,
ID_POPUP_PCB_MOVE_EXACT
,
ID_POPUP_PCB_MOVE_EXACT
,
ID_POPUP_PCB_CREATE_ARRAY
,
ID_POPUP_PCB_MOVE_TEXTMODULE_REQUEST
,
ID_POPUP_PCB_MOVE_TEXTMODULE_REQUEST
,
ID_POPUP_PCB_ROTATE_TEXTMODULE
,
ID_POPUP_PCB_ROTATE_TEXTMODULE
,
...
...
pcbnew/tools/common_actions.cpp
View file @
3c5f3f70
...
@@ -341,6 +341,10 @@ TOOL_ACTION COMMON_ACTIONS::enumeratePads( "pcbnew.ModuleEditor.enumeratePads",
...
@@ -341,6 +341,10 @@ TOOL_ACTION COMMON_ACTIONS::enumeratePads( "pcbnew.ModuleEditor.enumeratePads",
AS_GLOBAL
,
0
,
AS_GLOBAL
,
0
,
"Enumerate pads"
,
"Enumerate pads"
,
AF_ACTIVATE
);
"Enumerate pads"
,
"Enumerate pads"
,
AF_ACTIVATE
);
TOOL_ACTION
COMMON_ACTIONS
::
createArray
(
"pcbnew.ModuleEditor.createArray"
,
AS_GLOBAL
,
MD_CTRL
+
int
(
'N'
),
"Create array"
,
"Create array"
,
AF_ACTIVATE
);
TOOL_ACTION
COMMON_ACTIONS
::
copyItems
(
"pcbnew.ModuleEditor.copyItems"
,
TOOL_ACTION
COMMON_ACTIONS
::
copyItems
(
"pcbnew.ModuleEditor.copyItems"
,
AS_GLOBAL
,
MD_CTRL
+
int
(
'C'
),
AS_GLOBAL
,
MD_CTRL
+
int
(
'C'
),
"Copy items"
,
"Copy items"
,
AF_ACTIVATE
);
"Copy items"
,
"Copy items"
,
AF_ACTIVATE
);
...
...
pcbnew/tools/common_actions.h
View file @
3c5f3f70
...
@@ -213,6 +213,9 @@ public:
...
@@ -213,6 +213,9 @@ public:
/// Tool for quick pad enumeration
/// Tool for quick pad enumeration
static
TOOL_ACTION
enumeratePads
;
static
TOOL_ACTION
enumeratePads
;
/// Tool for creating an array of objects
static
TOOL_ACTION
createArray
;
/// Copying module items to clipboard
/// Copying module items to clipboard
static
TOOL_ACTION
copyItems
;
static
TOOL_ACTION
copyItems
;
...
...
pcbnew/tools/module_tools.cpp
View file @
3c5f3f70
...
@@ -36,6 +36,7 @@
...
@@ -36,6 +36,7 @@
#include <collectors.h>
#include <collectors.h>
#include <confirm.h>
#include <confirm.h>
#include <dialogs/dialog_enum_pads.h>
#include <dialogs/dialog_enum_pads.h>
#include <dialogs/dialog_create_array.h>
#include <wxPcbStruct.h>
#include <wxPcbStruct.h>
#include <class_board.h>
#include <class_board.h>
...
@@ -75,6 +76,7 @@ bool MODULE_TOOLS::Init()
...
@@ -75,6 +76,7 @@ bool MODULE_TOOLS::Init()
selectionTool
->
AddMenuItem
(
COMMON_ACTIONS
::
enumeratePads
);
selectionTool
->
AddMenuItem
(
COMMON_ACTIONS
::
enumeratePads
);
selectionTool
->
AddMenuItem
(
COMMON_ACTIONS
::
duplicate
);
selectionTool
->
AddMenuItem
(
COMMON_ACTIONS
::
duplicate
);
selectionTool
->
AddMenuItem
(
COMMON_ACTIONS
::
createArray
);
setTransitions
();
setTransitions
();
...
@@ -494,6 +496,7 @@ int MODULE_TOOLS::DuplicateItems( TOOL_EVENT& aEvent )
...
@@ -494,6 +496,7 @@ int MODULE_TOOLS::DuplicateItems( TOOL_EVENT& aEvent )
bool
increment
=
aEvent
.
IsAction
(
&
COMMON_ACTIONS
::
duplicateIncrement
);
bool
increment
=
aEvent
.
IsAction
(
&
COMMON_ACTIONS
::
duplicateIncrement
);
MODULE
*
module
=
m_board
->
m_Modules
;
MODULE
*
module
=
m_board
->
m_Modules
;
assert
(
module
);
assert
(
module
);
// first, check if we have a selection, or try to get one
// first, check if we have a selection, or try to get one
...
@@ -569,6 +572,95 @@ int MODULE_TOOLS::DuplicateItems( TOOL_EVENT& aEvent )
...
@@ -569,6 +572,95 @@ int MODULE_TOOLS::DuplicateItems( TOOL_EVENT& aEvent )
}
}
int
MODULE_TOOLS
::
CreateArray
(
TOOL_EVENT
&
aEvent
)
{
MODULE
*
module
=
m_board
->
m_Modules
;
assert
(
module
);
// first, check if we have a selection, or try to get one
SELECTION_TOOL
*
selTool
=
m_toolMgr
->
GetTool
<
SELECTION_TOOL
>
();
if
(
selTool
->
GetSelection
().
Empty
()
)
{
m_toolMgr
->
RunAction
(
COMMON_ACTIONS
::
selectionCursor
,
true
);
}
const
SELECTION
&
selection
=
selTool
->
GetSelection
();
// if we don't have a selection by now, this tool can't do anything
if
(
selection
.
Empty
()
||
selTool
->
CheckLock
()
)
{
setTransitions
();
return
0
;
}
// we have a selection to work on now, so start the tool process
m_frame
->
OnModify
();
m_frame
->
SaveCopyInUndoList
(
module
,
UR_MODEDIT
);
DIALOG_CREATE_ARRAY
::
ARRAY_OPTIONS
*
array_opts
=
NULL
;
PCB_BASE_FRAME
*
baseFrame
=
getEditFrame
<
PCB_BASE_FRAME
>
();
DIALOG_CREATE_ARRAY
dialog
(
baseFrame
,
&
array_opts
);
int
ret
=
dialog
.
ShowModal
();
if
(
ret
==
DIALOG_CREATE_ARRAY
::
CREATE_ARRAY_OK
&&
array_opts
!=
NULL
)
{
wxPoint
rotPoint
=
selection
.
GetCenter
();
for
(
int
i
=
0
;
i
<
selection
.
Size
();
++
i
)
{
BOARD_ITEM
*
item
=
selection
.
Item
<
BOARD_ITEM
>
(
i
);
if
(
!
item
)
continue
;
// iterate across the array, laying out the item at the
// correct position
// skip the first one - we already have that object
const
unsigned
nPoints
=
array_opts
->
GetArraySize
();
for
(
unsigned
ptN
=
0
;
ptN
<
nPoints
;
++
ptN
)
{
BOARD_ITEM
*
newItem
=
NULL
;
if
(
ptN
==
0
)
{
newItem
=
item
;
}
else
{
newItem
=
module
->
DuplicateAndAddItem
(
item
,
true
);
if
(
newItem
)
{
array_opts
->
TransformItem
(
ptN
,
newItem
,
rotPoint
);
m_toolMgr
->
RunAction
(
COMMON_ACTIONS
::
unselectItem
,
true
,
newItem
);
m_view
->
Add
(
newItem
);
}
}
// set the number if needed:
if
(
newItem
->
Type
()
==
PCB_PAD_T
&&
array_opts
->
ShouldRenumberItems
()
)
{
const
std
::
string
padName
=
array_opts
->
GetItemNumber
(
ptN
);
static_cast
<
D_PAD
*>
(
newItem
)
->
SetPadName
(
padName
);
}
}
}
m_frame
->
GetGalCanvas
()
->
Refresh
();
}
setTransitions
();
return
0
;
}
int
MODULE_TOOLS
::
ModuleTextOutlines
(
TOOL_EVENT
&
aEvent
)
int
MODULE_TOOLS
::
ModuleTextOutlines
(
TOOL_EVENT
&
aEvent
)
{
{
KIGFX
::
PCB_PAINTER
*
painter
=
KIGFX
::
PCB_PAINTER
*
painter
=
...
@@ -648,4 +740,5 @@ void MODULE_TOOLS::setTransitions()
...
@@ -648,4 +740,5 @@ void MODULE_TOOLS::setTransitions()
Go
(
&
MODULE_TOOLS
::
DuplicateItems
,
COMMON_ACTIONS
::
duplicateIncrement
.
MakeEvent
()
);
Go
(
&
MODULE_TOOLS
::
DuplicateItems
,
COMMON_ACTIONS
::
duplicateIncrement
.
MakeEvent
()
);
Go
(
&
MODULE_TOOLS
::
ModuleTextOutlines
,
COMMON_ACTIONS
::
moduleTextOutlines
.
MakeEvent
()
);
Go
(
&
MODULE_TOOLS
::
ModuleTextOutlines
,
COMMON_ACTIONS
::
moduleTextOutlines
.
MakeEvent
()
);
Go
(
&
MODULE_TOOLS
::
ModuleEdgeOutlines
,
COMMON_ACTIONS
::
moduleEdgeOutlines
.
MakeEvent
()
);
Go
(
&
MODULE_TOOLS
::
ModuleEdgeOutlines
,
COMMON_ACTIONS
::
moduleEdgeOutlines
.
MakeEvent
()
);
Go
(
&
MODULE_TOOLS
::
CreateArray
,
COMMON_ACTIONS
::
createArray
.
MakeEvent
()
);
}
}
pcbnew/tools/module_tools.h
View file @
3c5f3f70
...
@@ -80,6 +80,13 @@ public:
...
@@ -80,6 +80,13 @@ public:
int
DuplicateItems
(
TOOL_EVENT
&
aEvent
);
int
DuplicateItems
(
TOOL_EVENT
&
aEvent
);
/**
* Function CreateArray
*
* Creates an array of objects using settings from a dialog
*/
int
CreateArray
(
TOOL_EVENT
&
aEvent
);
/**
/**
* Function ModuleTextOutlines()
* Function ModuleTextOutlines()
*
*
...
...
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