Merge lp:~emmeran/kicad/kicad-optionalblockdialog into lp:kicad/product

Proposed by Emmeran
Status: Rejected
Rejected by: Chris Pavlina
Proposed branch: lp:~emmeran/kicad/kicad-optionalblockdialog
Merge into: lp:kicad/product
Diff against target: 880 lines (+576/-24)
13 files modified
bitmaps_png/CMakeLists.txt (+1/-0)
bitmaps_png/cpp_26/select_dialog.cpp (+108/-0)
bitmaps_png/sources/select_dialog.svg (+245/-0)
include/bitmaps.h (+1/-0)
include/wxPcbStruct.h (+1/-0)
pcbnew/block.cpp (+15/-4)
pcbnew/dialogs/dialog_block_options_base.cpp (+7/-1)
pcbnew/dialogs/dialog_block_options_base.fbp (+187/-18)
pcbnew/dialogs/dialog_block_options_base.h (+5/-1)
pcbnew/edit.cpp (+1/-0)
pcbnew/pcbframe.cpp (+1/-0)
pcbnew/pcbnew_id.h (+1/-0)
pcbnew/tool_pcb.cpp (+3/-0)
To merge this branch: bzr merge lp:~emmeran/kicad/kicad-optionalblockdialog
Reviewer Review Type Date Requested Status
Dick Hollenbeck Pending
Review via email: mp+149182@code.launchpad.net

Description of the change

Whenever you drag in pcbnew to select multiple modules a dialog comes up.
This branch adds an option to the dialog that allows the user to hide the dialog when dragging to select/clone/rotate.
A button is added to the toolbar to open the dialog.

To post a comment you must log in.
3962. By Emmeran

added forgotten cpp file for new bitmap

Revision history for this message
Dick Hollenbeck (dickelbeck) wrote :

On 02/18/2013 06:09 PM, Emmeran wrote:
> - parent->GetCanvas()->MoveCursorToCrossHair();

1) no space after if.
2) spaces around !noWarp
3) indentation is wrong.
4) check tabs vs. spaces. NO TABS!

> + if (!noWarp)
> + {
> + parent->GetScreen()->SetCrossHairPosition( oldpos );
> + parent->GetCanvas()->MoveCursorToCrossHair();
> + }
> +
> parent->GetCanvas()->SetIgnoreMouseEvents( false );
>
> return cmd == wxID_OK;
> @@ -156,6 +161,7 @@
> m_Include_PcbTextes->SetValue( blockIncludePcbTexts );
> m_DrawBlockItems->SetValue( blockDrawItems );
> m_checkBoxIncludeInvisible->SetValue( blockIncludeItemsOnInvisibleLayers );
> + m_DontShowOnDragSelect->SetValue( blockDontShowDialog );
> m_sdbSizer1OK->SetDefault();
> SetFocus();
> GetSizer()->SetSizeHints( this );
> @@ -174,6 +180,7 @@
> blockIncludePcbTexts = m_Include_PcbTextes->GetValue();
> blockDrawItems = m_DrawBlockItems->GetValue();
> blockIncludeItemsOnInvisibleLayers = m_checkBoxIncludeInvisible->GetValue();
> + blockDontShowDialog = m_DontShowOnDragSelect->GetValue();
>
> EndModal( wxID_OK );
> }
> @@ -289,7 +296,7 @@
> if( !GetScreen()->m_BlockLocate.GetCount()
> && GetScreen()->m_BlockLocate.GetCommand() != BLOCK_ZOOM )
> {
> - if( InstallBlockCmdFrame( this, _( "Block Operation" ) ) == false )
> + if( !blockDontShowDialog && InstallBlockCmdFrame( this, _( "Block Operation" ) ) == false )
> {
> cancelCmd = true;
>
> @@ -378,6 +385,10 @@
> return nextcmd;
> }
>
> +void PCB_EDIT_FRAME::OnSelectDialog( wxCommandEvent& aEvent )
> +{

What's wrong with indentation? NO TABS.

> + InstallBlockCmdFrame( this, _( "Block Operation" ), true );
> +}

Also, if you can include the *.cpp of the bitmap in the patch, that would be helpful, save
me time. I don't normally operate in PNG MAINTAINER mode, and if we are not careful, we
could end up with a commit that has all the png.cpp files rebuilt, whereas we only want
that new one in the commit.

After this, I will test it locally, and have more to say then.

Thanks,

Dick

3963. By Emmeran

fixed code layout

Revision history for this message
Emmeran (emmeran) wrote :

I'm sorry, I forgot about the syntax guidelines again.

I'm so used to the proper C syntax and 4-space tabs that I completely forgot that this project's styled differently. But of course it should be consistent within a project.

Just for the record tho: I don't like the layout, especially with the if's.

@bitmap: I think I added the cpp file yesterday already. If there's another file missing let me know which one. (I had to commit manually since bzr diff spat out hundreds of bitmap files)

Revision history for this message
Dick Hollenbeck (dickelbeck) wrote :

On 02/19/2013 04:17 AM, Emmeran wrote:
> I'm sorry, I forgot about the syntax guidelines again.
>
> I'm so used to the proper C syntax and 4-space tabs that I completely forgot that this project's styled differently. But of course it should be consistent within a project.
>
> Just for the record tho: I don't like the layout, especially with the if's.

Clueless. Here you are trying to gather respect by giving it, then
drive by someone's house yelling "I don't like your house".

Your neighbour begins to think that you are overestimating your
importance, with respect to his choice of houses.

Start over.

What exactly do think this process is? It is determining whether we
have a respectful team member and a competent team member.

It is not your house, just because it is open source.

Far more time has been spent imparting a consistent style into this
code, one that I like, than has been spent approving patches. That
should tell you something important.

>
> @bitmap: I think I added the cpp file yesterday already. If there's another file missing let me know which one. (I had to commit manually since bzr diff spat out hundreds of bitmap files)

Revision history for this message
Emmeran (emmeran) wrote :

I wasn't trying to say that it's bad, nor that it should be changed or anything. Feel free to use any layout you want.

I was just stating my personal preference, which of course isn't at all important.

Sorry if this offended you, wasn't meant like that at all.

> But of course it should be consistent within a project.
With this I just validated that I need to apply your style to my code so that it's consistent within the project, which is the only that matters.

As you perhaps already noticed, English is not my native language. So maybe my last comment came off smug or something. Sorry for that.

Revision history for this message
Dick Hollenbeck (dickelbeck) wrote :

On 02/19/2013 05:57 PM, Emmeran wrote:
> I wasn't trying to say that it's bad, nor that it should be changed or anything. Feel free to use any layout you want.
>
> I was just stating my personal preference, which of course isn't at all important.
>
> Sorry if this offended you, wasn't meant like that at all.

It was difficult watching you hurt your cause.

We want to grow the team of "testing-committers" with people who are
competent and respectful, respectful of other developers and
respectful of the coding standards document.

Algorithms and data structures are reasonable targets of critique.
The "coding standards", on the other hand, are a stylistic choice
which at this point should live above the criticism of any one who is
trying to demonstrate their respect.

I was, and am still hopeful that you can eventually join team
testing-comitters. Each member of that team prefers committing code
over reviewing patches, and prefers being surrounded with other
respectful, competent developers.

The ways you can demonstrate respect for the coding standards are:

1) Make SURE your patches adhere to it.

2) Do not go on record as dis-liking it.

>
>> But of course it should be consistent within a project.
> With this I just validated that I need to apply your style to my code so that it's consistent within the project, which is the only that matters.
>
> As you perhaps already noticed, English is not my native language. So maybe my last comment came off smug or something. Sorry for that.

I did not notice. Your English is excellent.

Revision history for this message
Emmeran (emmeran) wrote :

Well I certainly didn't mean to disrespect anyone here. In contrary I have a lot of respect for you and everyone else here that has worked on KiCAD since I really like the program.

While being a part of the testing-committers team would certainly be an honor and something I wouldn't mind at all, it's not really my cause. I came here not to join the team, but to share patches for stuff that I thought should be changed.

I'm the kind of guy that loves open source projects because he can go and change anything he doesn't like. In KiCAD there's a lot of stuff that I love, it's a great program. But there's also a lot I don't like, mainly usability stuff.

I'm designing my own PCBs for various projects and sometimes I get annoyed by some things, like in this patch, the dialog that pops up every time I try to select something. My assumption would be that there either is a valid reason which I didn't think of, for the dialog to be there, or that just nobody thought of removing it or had the time for it.

So I just create a branch, make it optionally so that the default behavior isn't changed, and push it to launchpad for everyone who wants it. I won't be offended if it's not accepted, but at least I wanna share it.

To get to the point, I don't think it should be a taboo to say what you think about the coding standard. It's a slightly off from the ANSI standard which is what I see in ~95% of the projects I work on. There's nothing wrong with it and I think it's a good thing that you use the standard you like most.

In my first post, I was just trying to explain that it takes me a while to adapt to this, since I'm so used to the "normal" style that I sometimes forget this project has a different one. I'm honestly sorry for committing patches twice already that haven't followed that standard completely.

And yes, on the record: I personally dislike the way the if's look. I don't get why you would write it like that. It breaks the alignment of the indentations. But it's the way it is, and I have no intention of changing it or forcing the way I'm used to do things on anyone else. I'm not trying to say you're stupid to use it or anything. You probably have your reasons or just like it this way, and that's fine.

If being on the team means I can't voice my opinion in a calm, more or less private manner, then I'm not interested. I understand that the language in my first comment about this was ill-chosen. If I had read it before posting I would've probably worded it differently, then you probably wouldn't have perceived it as a drive-by-yelling.

If you should want to discuss this further we should probably use a private channel, I don't wanna spam all the subscribers here any more. (Sorry guys!)

Anyways, lots of blah-blah... I'd say, let's get back to work?

Revision history for this message
Edwin van den Oetelaar (edwin-fo) wrote :

I also have a question about the code formatting...
Since I use Eclipse and Netbeans most of the time, is there a way to
make sure it formats the code consistent with the KiCAD style?
Does anyone have a set of 'setting' to load into the editors that
makes the 'Alt-Shift-F' or 'Shift-Ctrl-F' do the right thing?
I have a habit of hitting these keys about every other line of code I
write, since I want my code to be formatted consistently (without
concerning myself with formatting it)
For python I use PyCharm and hit the 'Ctrl-Alt-L' every 30 seconds.
(On checking in to svn, it automatically gets reformatted anyway)
I have seen the 'uncrustify.cfg' but I am not sure it can be
automatically applied (safely) to all the code.

thanks for your effort already,
Edwin van den Oetelaar

On Wed, Feb 20, 2013 at 10:36 AM, Emmeran <email address hidden> wrote:
> Well I certainly didn't mean to disrespect anyone here. In contrary I have a lot of respect for you and everyone else here that has worked on KiCAD since I really like the program.
[snip]
> Anyways, lots of blah-blah... I'd say, let's get back to work?

Unmerged revisions

3963. By Emmeran

fixed code layout

3962. By Emmeran

added forgotten cpp file for new bitmap

3961. By Emmeran

added option to hide block options dialog on drag select; added toolbar button to open block options dialog

3960. By Emmeran

added option to hide block options dialog on drag select; added toolbar button to open block options dialog

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bitmaps_png/CMakeLists.txt'
2--- bitmaps_png/CMakeLists.txt 2013-01-06 13:31:49 +0000
3+++ bitmaps_png/CMakeLists.txt 2013-02-19 10:10:25 +0000
4@@ -483,6 +483,7 @@
5 save_setup
6 save
7 schematic
8+ select_dialog
9 select_grid
10 select_layer_pair
11 select_w_layer
12
13=== added file 'bitmaps_png/cpp_26/select_dialog.cpp'
14--- bitmaps_png/cpp_26/select_dialog.cpp 1970-01-01 00:00:00 +0000
15+++ bitmaps_png/cpp_26/select_dialog.cpp 2013-02-19 10:10:25 +0000
16@@ -0,0 +1,108 @@
17+
18+/* Do not modify this file, it was automatically generated by the
19+ * PNG2cpp CMake script, using a *.png file as input.
20+ */
21+
22+#include <bitmaps.h>
23+
24+static const unsigned char png[] = {
25+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
26+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
27+ 0xce, 0x00, 0x00, 0x05, 0xb6, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x56, 0x09, 0x4c, 0x94,
28+ 0x57, 0x10, 0xde, 0x0a, 0x0b, 0x22, 0x72, 0x2d, 0xd4, 0x26, 0xb0, 0xe2, 0x8a, 0xb4, 0x69, 0x45,
29+ 0x44, 0x2a, 0x0d, 0x52, 0x68, 0xc1, 0x82, 0xec, 0xc2, 0xca, 0x21, 0x22, 0x20, 0xc4, 0xa4, 0x86,
30+ 0x5a, 0xf0, 0xa2, 0x05, 0xb4, 0x02, 0xc5, 0x56, 0xc1, 0xa2, 0xb5, 0x40, 0xa4, 0xd2, 0x70, 0xa9,
31+ 0x20, 0x06, 0x50, 0xe3, 0x4a, 0x80, 0x72, 0x44, 0x8a, 0xe1, 0x92, 0x4b, 0x44, 0x14, 0x8c, 0x68,
32+ 0x6a, 0x51, 0x54, 0x54, 0x0a, 0xc8, 0xb5, 0xbb, 0x80, 0x96, 0xaf, 0xf3, 0xfe, 0x74, 0x93, 0xc6,
33+ 0x28, 0x42, 0x4d, 0x5f, 0x32, 0x79, 0xff, 0xbe, 0x63, 0xbe, 0x39, 0xbe, 0x99, 0xb7, 0x3c, 0x00,
34+ 0xbc, 0x99, 0x0a, 0x0d, 0x5d, 0x92, 0x45, 0x24, 0x02, 0x12, 0xb5, 0x59, 0xdd, 0x9d, 0x05, 0xc8,
35+ 0x22, 0x35, 0x35, 0xb5, 0x67, 0x46, 0x46, 0x46, 0x23, 0x5a, 0x5a, 0x5a, 0xe3, 0x9a, 0x9a, 0x9a,
36+ 0x89, 0xff, 0x17, 0x90, 0xf7, 0xf2, 0xe5, 0xcb, 0x15, 0x32, 0x99, 0x0c, 0x3b, 0x77, 0xee, 0x84,
37+ 0x81, 0x81, 0xc1, 0xa5, 0x37, 0x02, 0xa2, 0xa1, 0x4f, 0x16, 0xff, 0x46, 0xb3, 0xf8, 0xdf, 0xeb,
38+ 0x73, 0xe7, 0xce, 0x3d, 0xe4, 0xe9, 0xe9, 0x39, 0x75, 0xeb, 0xd6, 0x2d, 0xa4, 0xa5, 0xa5, 0x41,
39+ 0x5b, 0x5b, 0xbb, 0xff, 0x85, 0x7b, 0x4b, 0xe7, 0xcf, 0x9f, 0x7f, 0x95, 0x66, 0xc7, 0xd7, 0x02,
40+ 0xd1, 0x30, 0x9c, 0x37, 0x6f, 0x5e, 0xb7, 0x9d, 0x9d, 0xdd, 0x73, 0xb2, 0x58, 0x41, 0xca, 0x8e,
41+ 0xd1, 0xda, 0x07, 0x34, 0x27, 0x11, 0x90, 0x3c, 0x3a, 0x3a, 0x1a, 0xf7, 0xee, 0xdd, 0x43, 0x65,
42+ 0x65, 0x25, 0xf4, 0xf4, 0xf4, 0x26, 0xf4, 0xf5, 0xf5, 0x6b, 0x68, 0x5f, 0xa2, 0xab, 0xab, 0xfb,
43+ 0x1d, 0xfd, 0x96, 0x6f, 0xda, 0xb4, 0x09, 0xf4, 0x2d, 0xa7, 0x10, 0x4b, 0xa7, 0x05, 0xa2, 0xb8,
44+ 0x9f, 0xb7, 0xb1, 0xb1, 0x79, 0x5e, 0x5c, 0x5c, 0x8c, 0xf4, 0xf4, 0x74, 0xac, 0x5a, 0xb5, 0x6a,
45+ 0x9c, 0x29, 0x90, 0x4a, 0xa5, 0xcf, 0x99, 0x17, 0x57, 0xae, 0x5c, 0xc1, 0xe3, 0xc7, 0x8f, 0xf1,
46+ 0xf0, 0xe1, 0x43, 0xd4, 0xd4, 0xd4, 0x20, 0x32, 0x32, 0x12, 0xcb, 0x96, 0x2d, 0x1b, 0xb3, 0xb5,
47+ 0xb5, 0x55, 0x16, 0x16, 0x16, 0xe2, 0xd1, 0xa3, 0x47, 0x88, 0x8a, 0x8a, 0x82, 0xba, 0xba, 0xba,
48+ 0x92, 0x0c, 0xd0, 0x99, 0xce, 0x23, 0x73, 0x72, 0x7f, 0xf4, 0xf0, 0xe1, 0xc3, 0xb8, 0x76, 0xed,
49+ 0x1a, 0xaa, 0xaa, 0xaa, 0x50, 0x5e, 0x5e, 0x8e, 0xae, 0xae, 0x2e, 0x4e, 0x79, 0x5f, 0x5f, 0x1f,
50+ 0x86, 0x86, 0x86, 0x20, 0x97, 0xcb, 0xa1, 0x54, 0x2a, 0x31, 0x32, 0x32, 0x82, 0xce, 0xce, 0x4e,
51+ 0xdc, 0xb8, 0x71, 0x03, 0x83, 0x83, 0x83, 0xa8, 0xae, 0xae, 0x86, 0xb9, 0xb9, 0xb9, 0x9c, 0x0c,
52+ 0xfe, 0xea, 0xb5, 0x39, 0xa2, 0x43, 0xdb, 0x96, 0x2c, 0x59, 0xa2, 0xa8, 0xa8, 0xa8, 0xc0, 0x9d,
53+ 0x3b, 0x77, 0xd0, 0xd3, 0xd3, 0xc3, 0x79, 0xd1, 0xdf, 0xdf, 0xcf, 0x29, 0x66, 0x00, 0x0a, 0x85,
54+ 0x02, 0x63, 0x63, 0x63, 0xdc, 0xef, 0xa7, 0x4f, 0x9f, 0x62, 0x60, 0x60, 0x00, 0x1d, 0x1d, 0x1d,
55+ 0xa0, 0x1c, 0x4e, 0x52, 0xe8, 0x2e, 0xcc, 0x94, 0x0c, 0xd6, 0x44, 0x61, 0x39, 0x03, 0x7a, 0xf0,
56+ 0xe0, 0x01, 0xe7, 0x05, 0xb3, 0x96, 0x81, 0xa5, 0xa4, 0xa4, 0x20, 0x38, 0x38, 0x18, 0x2c, 0x57,
57+ 0x8d, 0x8d, 0x8d, 0xdc, 0x3a, 0x33, 0x80, 0x9d, 0xb9, 0x79, 0xf3, 0x26, 0xbc, 0xbd, 0xbd, 0x27,
58+ 0x29, 0x22, 0xa9, 0x33, 0x02, 0xa2, 0x04, 0x17, 0x06, 0x05, 0x05, 0x4d, 0x75, 0x77, 0x77, 0x73,
59+ 0x4a, 0x86, 0x87, 0x87, 0x51, 0x57, 0x57, 0x07, 0x0b, 0x0b, 0x0b, 0x25, 0xe5, 0xab, 0x87, 0xf6,
60+ 0x73, 0x16, 0x2c, 0x58, 0x50, 0x47, 0xb3, 0x62, 0xff, 0xfe, 0xfd, 0x78, 0xf2, 0xe4, 0x09, 0x7a,
61+ 0x7b, 0x7b, 0x39, 0xa3, 0x72, 0x72, 0x72, 0x40, 0x8c, 0x1d, 0x63, 0xa4, 0x7a, 0x89, 0x03, 0x3c,
62+ 0x6d, 0x12, 0x5f, 0x4a, 0xe0, 0x3e, 0x52, 0x54, 0xae, 0xa3, 0xa3, 0xa3, 0x2c, 0x2a, 0x2a, 0xe2,
63+ 0xac, 0x1d, 0x1d, 0x1d, 0xe5, 0xc2, 0x62, 0x6d, 0x6d, 0xad, 0x24, 0x05, 0x47, 0xe8, 0xdc, 0x5b,
64+ 0x2e, 0x2e, 0x2e, 0x7a, 0xce, 0xce, 0xce, 0x86, 0xf4, 0x6d, 0x47, 0x67, 0x47, 0x73, 0x73, 0x73,
65+ 0x71, 0xff, 0xfe, 0x7d, 0x30, 0xc3, 0x5a, 0x5a, 0x5a, 0x20, 0x91, 0x48, 0x26, 0x34, 0x34, 0x34,
66+ 0xc6, 0x89, 0xa9, 0xbd, 0xa4, 0xaf, 0x4c, 0x45, 0x77, 0x36, 0xec, 0x99, 0x75, 0xac, 0x46, 0x22,
67+ 0x22, 0x22, 0x90, 0x9d, 0x9d, 0xcd, 0x5d, 0x54, 0x25, 0xfc, 0xf4, 0xe9, 0xd3, 0xac, 0x66, 0x06,
68+ 0x55, 0x2d, 0x67, 0xdd, 0x06, 0xf7, 0x23, 0x5e, 0x3e, 0x92, 0x01, 0x37, 0x0f, 0xd7, 0xcf, 0x08,
69+ 0x3c, 0x91, 0xdd, 0x63, 0xb9, 0x64, 0xa1, 0xbb, 0x7e, 0xfd, 0x3a, 0x4a, 0x4a, 0x4a, 0x38, 0x1d,
70+ 0xb1, 0xb1, 0xb1, 0x20, 0x36, 0x82, 0x42, 0x99, 0xa5, 0x02, 0x5a, 0x63, 0x65, 0x65, 0x35, 0xd2,
71+ 0xd6, 0xd6, 0xf6, 0xd2, 0x84, 0xc7, 0xc4, 0xc4, 0xc0, 0xd0, 0xd0, 0xb0, 0x55, 0x15, 0x02, 0x5f,
72+ 0x7f, 0xe9, 0x2f, 0x79, 0x85, 0xbb, 0xb0, 0x2d, 0xcc, 0xaf, 0xcf, 0x71, 0xb5, 0x5d, 0x39, 0x79,
73+ 0xab, 0x60, 0xac, 0x6b, 0x6f, 0x6f, 0xe7, 0x3c, 0xaa, 0xaf, 0xaf, 0x47, 0x69, 0x69, 0x29, 0xf2,
74+ 0xf2, 0xf2, 0xe0, 0xe7, 0xe7, 0xc7, 0xea, 0xaa, 0x5c, 0x05, 0xe4, 0x44, 0xa8, 0x0a, 0x57, 0x57,
75+ 0xd7, 0x89, 0x90, 0x90, 0x10, 0x64, 0x64, 0x64, 0x70, 0xc9, 0x65, 0x61, 0x63, 0xf9, 0xc9, 0xcf,
76+ 0xcf, 0x07, 0x15, 0xeb, 0x08, 0x9d, 0xe3, 0xb3, 0x0b, 0x1b, 0x02, 0x3c, 0x32, 0xce, 0x57, 0xec,
77+ 0x45, 0x6b, 0x57, 0x32, 0x7e, 0xfa, 0x79, 0xfb, 0xa4, 0xb7, 0x8f, 0x94, 0xa3, 0x75, 0x53, 0x53,
78+ 0x13, 0x6a, 0x6b, 0x6b, 0x11, 0x16, 0x16, 0xc6, 0x3c, 0x99, 0x10, 0x89, 0x44, 0xac, 0x27, 0xb2,
79+ 0x90, 0xe7, 0xaa, 0x80, 0x34, 0x48, 0x6c, 0x49, 0xb6, 0x08, 0x04, 0x82, 0x6c, 0xb2, 0x40, 0xc9,
80+ 0xea, 0x87, 0xd5, 0x0b, 0xcb, 0x0f, 0x0b, 0x23, 0x15, 0xf1, 0xf8, 0x3f, 0x5d, 0x82, 0xef, 0x1b,
81+ 0xb0, 0xf6, 0xb8, 0xac, 0x2c, 0x0e, 0xcd, 0x9d, 0x47, 0xd1, 0xd4, 0x91, 0x0a, 0x59, 0xe9, 0x0f,
82+ 0xd8, 0x1c, 0x1c, 0x88, 0xe3, 0x27, 0x8e, 0x71, 0x61, 0xb6, 0xb4, 0xb4, 0x54, 0xd0, 0xb9, 0x64,
83+ 0x12, 0x07, 0x12, 0xa3, 0x57, 0xb2, 0x8e, 0xc0, 0x2e, 0x84, 0x86, 0x86, 0x72, 0x4c, 0x62, 0x9e,
84+ 0x31, 0x5a, 0x33, 0xe0, 0x15, 0x2b, 0x56, 0x30, 0xb0, 0x3f, 0x9d, 0x9c, 0x1d, 0x7a, 0x65, 0xa5,
85+ 0x07, 0xd1, 0xd0, 0x9e, 0x8e, 0x86, 0xab, 0x19, 0xb8, 0xd4, 0x96, 0x89, 0xaa, 0x4b, 0xe9, 0x08,
86+ 0x0b, 0xff, 0x02, 0x5b, 0x42, 0x82, 0x99, 0xf7, 0x8a, 0x17, 0xbb, 0xc2, 0xab, 0xea, 0xc8, 0xde,
87+ 0xd4, 0xd4, 0x74, 0x94, 0x85, 0x81, 0xb5, 0x14, 0x46, 0x5b, 0x56, 0xb4, 0x2c, 0x0f, 0x49, 0x49,
88+ 0x49, 0xd8, 0x18, 0xb4, 0x01, 0xb2, 0x5f, 0x13, 0x51, 0xdf, 0x7a, 0x1c, 0x75, 0x97, 0x49, 0x5a,
89+ 0xb2, 0x51, 0xdb, 0x74, 0x12, 0xd5, 0x8d, 0xa7, 0x70, 0x28, 0x31, 0x06, 0x62, 0xb7, 0x35, 0x72,
90+ 0x89, 0xc4, 0x49, 0xf4, 0x5a, 0x20, 0x6a, 0x88, 0x1b, 0x8d, 0x8d, 0x8d, 0x15, 0x65, 0x65, 0x65,
91+ 0x5c, 0xd8, 0xee, 0xde, 0xbd, 0x8b, 0xdb, 0xb7, 0x6f, 0x43, 0x95, 0xf0, 0x6f, 0xf7, 0x46, 0xe1,
92+ 0x5c, 0x71, 0x0a, 0x6a, 0x48, 0x79, 0x4d, 0x63, 0x2e, 0xaa, 0x1b, 0x4e, 0xa1, 0xb2, 0x26, 0x17,
93+ 0x69, 0x59, 0x07, 0x91, 0x9a, 0x96, 0x80, 0x98, 0xd8, 0x70, 0xb8, 0x49, 0xc5, 0x13, 0xee, 0x9e,
94+ 0xee, 0x9f, 0x4e, 0xdb, 0xeb, 0xc8, 0xf5, 0x31, 0x66, 0x39, 0x03, 0x60, 0xd5, 0xcf, 0x18, 0xd4,
95+ 0xda, 0xda, 0xca, 0x35, 0x54, 0x96, 0xf0, 0x3d, 0xd1, 0xbb, 0x71, 0xae, 0x28, 0x0d, 0x17, 0xeb,
96+ 0xf2, 0x91, 0x79, 0xe2, 0x47, 0x94, 0x57, 0xe6, 0xe2, 0x8c, 0x2c, 0x1d, 0x1e, 0x5e, 0x6b, 0x91,
97+ 0x70, 0x30, 0x01, 0x01, 0x01, 0xfe, 0x10, 0x2d, 0x16, 0x0d, 0xad, 0x5c, 0xb9, 0xf2, 0xfd, 0x57,
98+ 0x02, 0x11, 0xc8, 0x45, 0x2a, 0xc6, 0xbf, 0x9a, 0x9b, 0x9b, 0x51, 0x50, 0x50, 0x00, 0x7b, 0x7b,
99+ 0x7b, 0xa5, 0x89, 0x89, 0xc9, 0xa8, 0x8f, 0x8f, 0xcf, 0x54, 0x72, 0x72, 0x32, 0xce, 0x9e, 0x3d,
100+ 0x8b, 0xc8, 0x5d, 0xe1, 0x38, 0x73, 0x2e, 0x13, 0x11, 0xbb, 0x77, 0xc0, 0xdb, 0xc7, 0x0b, 0x61,
101+ 0x5f, 0x87, 0x4e, 0x5d, 0xa8, 0x3a, 0x4f, 0xf3, 0x56, 0xec, 0xd9, 0xf3, 0x0d, 0xe2, 0xe3, 0xe3,
102+ 0x59, 0x77, 0x60, 0xdd, 0x7b, 0xf5, 0x74, 0x1e, 0xbd, 0xc7, 0x1e, 0x34, 0x7a, 0x16, 0xa6, 0xe8,
103+ 0x3d, 0x92, 0xd3, 0xdb, 0x94, 0x4e, 0x6b, 0x2e, 0xd4, 0x01, 0x0a, 0xa9, 0xd9, 0x2a, 0xc4, 0x62,
104+ 0xf1, 0xb3, 0x1d, 0x61, 0xdb, 0x29, 0x4f, 0xfe, 0xf8, 0xd8, 0xde, 0x6e, 0x92, 0xf6, 0xff, 0x70,
105+ 0x73, 0x97, 0xfc, 0x9e, 0x5f, 0x70, 0x12, 0xc5, 0x25, 0x85, 0x90, 0x7a, 0xb8, 0x4f, 0x11, 0x99,
106+ 0x14, 0x7c, 0x3e, 0xff, 0xcb, 0x99, 0x90, 0x61, 0x31, 0x59, 0xd4, 0xc0, 0x48, 0xf1, 0xc2, 0xba,
107+ 0x93, 0x50, 0x28, 0x1c, 0x89, 0x3f, 0x10, 0x87, 0xf8, 0x03, 0xf1, 0x2a, 0x76, 0x19, 0x38, 0x38,
108+ 0x38, 0x58, 0x05, 0x04, 0xfa, 0xf7, 0x65, 0x1d, 0xcb, 0x82, 0xaf, 0xdf, 0xfa, 0x61, 0x81, 0x91,
109+ 0x20, 0xf2, 0x4d, 0xff, 0x33, 0x08, 0x48, 0xb9, 0x32, 0x2e, 0xee, 0x7b, 0x84, 0x84, 0x6e, 0xc6,
110+ 0xdb, 0xef, 0x68, 0x8c, 0x38, 0x88, 0xd5, 0x36, 0xbb, 0xae, 0x9f, 0x13, 0x2e, 0x5d, 0xbf, 0x28,
111+ 0xd3, 0xcb, 0xd7, 0xf1, 0xb2, 0xd8, 0xd3, 0x2c, 0xd5, 0x6e, 0xb5, 0x5a, 0xa0, 0xe5, 0x47, 0xea,
112+ 0x2e, 0x42, 0x33, 0x9e, 0xa5, 0xae, 0x2e, 0x4f, 0x30, 0x6b, 0x20, 0x26, 0x14, 0x92, 0x61, 0xd1,
113+ 0x62, 0xe1, 0x98, 0x89, 0xd0, 0x40, 0xb9, 0xd0, 0x4c, 0xb3, 0x93, 0x81, 0xf8, 0x6e, 0x51, 0x4f,
114+ 0x08, 0xdc, 0xc1, 0x3f, 0xba, 0x71, 0x1b, 0xff, 0x88, 0xf7, 0xe7, 0xea, 0xfb, 0x1c, 0x3d, 0xe7,
115+ 0x6c, 0xfd, 0xd0, 0x41, 0x6d, 0x9d, 0x68, 0x29, 0xdf, 0x56, 0x20, 0xe0, 0x2d, 0x64, 0x8d, 0x78,
116+ 0xd6, 0x40, 0x34, 0x2c, 0x48, 0x3e, 0x21, 0xb1, 0xd1, 0xd2, 0xe2, 0x2d, 0xd4, 0xd1, 0xe1, 0x19,
117+ 0x19, 0x9b, 0xf1, 0x4c, 0x85, 0x42, 0xde, 0xbb, 0x24, 0xe6, 0x86, 0x42, 0x9e, 0x89, 0x9e, 0x1e,
118+ 0xcf, 0x80, 0xf6, 0x35, 0xff, 0x73, 0xe8, 0xde, 0x54, 0xfe, 0x06, 0x66, 0x8a, 0x48, 0xf9, 0x0a,
119+ 0x71, 0x4a, 0xec, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
120+};
121+
122+const BITMAP_OPAQUE select_dialog_xpm[1] = {{ png, sizeof( png ), "select_dialog_xpm" }};
123+
124+//EOF
125
126=== added file 'bitmaps_png/sources/select_dialog.svg'
127--- bitmaps_png/sources/select_dialog.svg 1970-01-01 00:00:00 +0000
128+++ bitmaps_png/sources/select_dialog.svg 2013-02-19 10:10:25 +0000
129@@ -0,0 +1,245 @@
130+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
131+<svg
132+ xmlns:dc="http://purl.org/dc/elements/1.1/"
133+ xmlns:cc="http://creativecommons.org/ns#"
134+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
135+ xmlns:svg="http://www.w3.org/2000/svg"
136+ xmlns="http://www.w3.org/2000/svg"
137+ xmlns:xlink="http://www.w3.org/1999/xlink"
138+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
139+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
140+ height="48"
141+ width="48"
142+ version="1.1"
143+ id="svg2"
144+ inkscape:version="0.48.3.1 r9886"
145+ sodipodi:docname="selectoptions.svg">
146+ <metadata
147+ id="metadata30">
148+ <rdf:RDF>
149+ <cc:Work
150+ rdf:about="">
151+ <dc:format>image/svg+xml</dc:format>
152+ <dc:type
153+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
154+ <dc:title />
155+ </cc:Work>
156+ </rdf:RDF>
157+ </metadata>
158+ <sodipodi:namedview
159+ pagecolor="#ffffff"
160+ bordercolor="#666666"
161+ borderopacity="1"
162+ objecttolerance="10"
163+ gridtolerance="10"
164+ guidetolerance="10"
165+ inkscape:pageopacity="0"
166+ inkscape:pageshadow="2"
167+ inkscape:window-width="888"
168+ inkscape:window-height="790"
169+ id="namedview28"
170+ showgrid="false"
171+ inkscape:zoom="6.44"
172+ inkscape:cx="18.499862"
173+ inkscape:cy="22.177581"
174+ inkscape:window-x="2617"
175+ inkscape:window-y="104"
176+ inkscape:window-maximized="0"
177+ inkscape:current-layer="svg2" />
178+ <defs
179+ id="defs4">
180+ <radialGradient
181+ id="c"
182+ gradientUnits="userSpaceOnUse"
183+ cy="36.812"
184+ cx="25.375"
185+ gradientTransform="matrix(1,0,0,0.45357,0,20.115)"
186+ r="17.5">
187+ <stop
188+ offset="0"
189+ id="stop7"
190+ style="stop-color:#748b06;stop-opacity:1;" />
191+ <stop
192+ stop-opacity="0"
193+ offset="1"
194+ id="stop9" />
195+ </radialGradient>
196+ <radialGradient
197+ id="d"
198+ gradientUnits="userSpaceOnUse"
199+ cy="24.149"
200+ cx="17.814"
201+ gradientTransform="matrix(-4.378,0,4.8624e-8,3.6749,144.59,-83.252)"
202+ r="9.125">
203+ <stop
204+ stop-color="#fff"
205+ offset="0"
206+ id="stop12"
207+ style="stop-color:#d0df86;stop-opacity:1;" />
208+ <stop
209+ stop-color="#b6b6b6"
210+ offset="1"
211+ id="stop14" />
212+ </radialGradient>
213+ <radialGradient
214+ inkscape:collect="always"
215+ xlink:href="#d"
216+ id="radialGradient2993"
217+ gradientUnits="userSpaceOnUse"
218+ gradientTransform="matrix(-4.6642765,0,5.1803514e-8,3.6277497,94.665752,-79.397716)"
219+ cx="17.814"
220+ cy="24.149"
221+ r="9.125" />
222+ <radialGradient
223+ inkscape:collect="always"
224+ xlink:href="#c"
225+ id="radialGradient2996"
226+ gradientUnits="userSpaceOnUse"
227+ gradientTransform="matrix(1.1134389,0,0,0.28779166,-0.84065924,32.08251)"
228+ cx="25.375"
229+ cy="36.812"
230+ r="17.5" />
231+ <radialGradient
232+ inkscape:collect="always"
233+ xlink:href="#d"
234+ id="radialGradient3030"
235+ gradientUnits="userSpaceOnUse"
236+ gradientTransform="matrix(-4.6642765,0,5.1803514e-8,3.6277497,94.665752,-79.397716)"
237+ cx="17.814"
238+ cy="24.149"
239+ r="9.125" />
240+ <radialGradient
241+ inkscape:collect="always"
242+ xlink:href="#d"
243+ id="radialGradient3801"
244+ gradientUnits="userSpaceOnUse"
245+ gradientTransform="matrix(-4.095565,0,4.5487152e-8,3.0004846,88.215274,-61.085103)"
246+ cx="17.814"
247+ cy="24.149"
248+ r="9.125" />
249+ <linearGradient
250+ id="d-9"
251+ y2="39.685001"
252+ gradientUnits="userSpaceOnUse"
253+ x2="34.534"
254+ gradientTransform="matrix(0.92673,0,0,0.84499,4.7271,52.187)"
255+ y1="12.285"
256+ x1="14.463">
257+ <stop
258+ stop-color="#c9c9c9"
259+ offset="0"
260+ id="stop23" />
261+ <stop
262+ stop-color="#f8f8f8"
263+ offset=".25"
264+ id="stop25" />
265+ <stop
266+ stop-color="#e2e2e2"
267+ offset=".5"
268+ id="stop27" />
269+ <stop
270+ stop-color="#b0b0b0"
271+ offset=".75"
272+ id="stop29" />
273+ <stop
274+ stop-color="#c9c9c9"
275+ offset="1"
276+ id="stop31" />
277+ </linearGradient>
278+ <radialGradient
279+ inkscape:collect="always"
280+ xlink:href="#c-1"
281+ id="radialGradient2996-0"
282+ gradientUnits="userSpaceOnUse"
283+ gradientTransform="matrix(1.1134389,0,0,0.28779166,-0.84065924,32.08251)"
284+ cx="25.375"
285+ cy="36.812"
286+ r="17.5" />
287+ <radialGradient
288+ id="c-1"
289+ gradientUnits="userSpaceOnUse"
290+ cy="36.812"
291+ cx="25.375"
292+ gradientTransform="matrix(1,0,0,0.45357,0,20.115)"
293+ r="17.5">
294+ <stop
295+ offset="0"
296+ id="stop7-8"
297+ style="stop-color:#748b06;stop-opacity:1;" />
298+ <stop
299+ stop-opacity="0"
300+ offset="1"
301+ id="stop9-3" />
302+ </radialGradient>
303+ <radialGradient
304+ inkscape:collect="always"
305+ xlink:href="#d-2"
306+ id="radialGradient3801-2"
307+ gradientUnits="userSpaceOnUse"
308+ gradientTransform="matrix(-2.6921311,0,2.9899996e-8,1.9723037,72.886411,-25.51381)"
309+ cx="17.813999"
310+ cy="24.149"
311+ r="9.125" />
312+ <radialGradient
313+ id="d-2"
314+ gradientUnits="userSpaceOnUse"
315+ cy="24.149"
316+ cx="17.813999"
317+ gradientTransform="matrix(-4.378,0,4.8624e-8,3.6749,144.59,-83.252)"
318+ r="9.125">
319+ <stop
320+ stop-color="#fff"
321+ offset="0"
322+ id="stop12-8"
323+ style="stop-color:#d0df86;stop-opacity:1;" />
324+ <stop
325+ stop-color="#b6b6b6"
326+ offset="1"
327+ id="stop14-8" />
328+ </radialGradient>
329+ <radialGradient
330+ r="17.5"
331+ cy="36.812"
332+ cx="25.375"
333+ gradientTransform="matrix(0.73189498,0,0,0.18917362,14.347419,35.727905)"
334+ gradientUnits="userSpaceOnUse"
335+ id="radialGradient3039"
336+ xlink:href="#c-1"
337+ inkscape:collect="always" />
338+ </defs>
339+ <g
340+ style="stroke:#000000"
341+ transform="matrix(1.2899,0,0,1.3788,-11.016374,-76.671639)"
342+ id="g33">
343+ <path
344+ inkscape:connector-curvature="0"
345+ style="color:#000000;fill:url(#d-9);stroke-width:1.30209994"
346+ d="m 25.828,57.411 c -0.34731,0.02167 -0.68489,0.07071 -1.026,0.10631 h -0.02332 l -0.81616,4.061 c -1.3303,0.27623 -2.5818,0.74502 -3.7077,1.382 l -3.661,-2.402 c -0.98968,0.70058 -1.8903,1.5177 -2.6817,2.4026 l 2.5417,3.3807 c -0.77174,1.0754 -1.3521,2.3033 -1.679,3.5933 -5.2e-5,0.0061 -4.5e-5,0.0202 0,0.02126 l -4.4306,0.63786 c -0.081,0.60325 -0.11659,1.2267 -0.11659,1.8498 0,0.50981 0.0154,1.0128 0.0699,1.5096 l 4.4306,0.72291 c 0.31511,1.4029 0.91369,2.713 1.7489,3.8697 l -2.635,3.2956 c 0.75466,0.85424 1.6259,1.632 2.5651,2.3176 l 3.731,-2.3388 c 1.3039,0.75844 2.7595,1.2903 4.3373,1.5521 l 0.69956,4.0185 c 0.49711,0.04126 1.0069,0.04252 1.5157,0.04252 0.71836,-10e-7 1.4045,-0.02482 2.0987,-0.10631 l 0.83948,-4.1036 c 1.499,-0.341 2.906,-0.931 4.128,-1.723 l 3.5911,2.3813 c 0.93128,-0.72243 1.7829,-1.5528 2.5184,-2.4451 l -2.6117,-3.4444 c 0.70729,-1.1138 1.1974,-2.3427 1.4458,-3.6571 l 4.4073,-0.63786 c 0.03865,-0.41935 0.04663,-0.82605 0.04663,-1.2545 0,-0.74449 -0.09491,-1.4745 -0.20987,-2.19 l -4.476,-0.745 c -0.351,-1.181 -0.927,-2.283 -1.656,-3.274 l 2.635,-3.2956 c -0.817,-0.911 -1.749,-1.752 -2.775,-2.466 l -3.801,2.381 c -1.092,-0.589 -2.268,-1.041 -3.544,-1.297 l -0.7,-4.04 c -0.63673,-0.06829 -1.2787,-0.10631 -1.9355,-0.10631 -0.1775,0 -0.36018,-0.0051 -0.53633,0 -0.08587,0.0024 -0.17086,-0.0046 -0.25651,0 -0.0232,0.0012 -0.0468,-0.0014 -0.06996,0 z m 0.60629,10.333 c 0.08519,-0.0039 0.17025,0 0.25651,0 2.7603,0 5.0135,2.0545 5.0135,4.5713 1e-6,2.5168 -2.2532,4.5501 -5.0135,4.5501 -2.7603,1e-6 -4.9902,-2.0332 -4.9902,-4.5501 0,-2.4382 2.0928,-4.4491 4.7337,-4.5713 z"
347+ id="path35" />
348+ <path
349+ inkscape:connector-curvature="0"
350+ style="opacity:0.34659005;color:#000000;fill:none;stroke-width:1.40030003"
351+ d="m 25.311,58.215 -0.6553,3.932 c -1.2469,0.25892 -3.5405,1.0508 -4.5959,1.6479 l -3.4863,-2.3726 c -0.92766,0.65668 -0.99127,0.70121 -1.7331,1.5307 l 2.5207,3.4087 c -0.72338,1.008 -1.5922,2.8042 -1.9042,4.0878 0,0 -4.4171,0.67892 -4.4171,0.67892 -0.07593,0.56544 -0.03948,1.7757 0.01164,2.2413 l 4.2192,0.69303 c 0.29536,1.315 1.4006,3.4316 2.1835,4.5157 l -2.6681,3.2142 c 0.70736,0.8007 0.84892,0.87397 1.7292,1.5166 l 3.5677,-2.3833 c 1.2222,0.7109 3.6482,1.5757 5.1271,1.8211 l 0.58553,3.8824 c 0.46595,0.03867 1.7532,0.14715 2.4038,0.07077 l 0.65531,-4.0416 c 1.4042,-0.31862 3.8304,-1.2267 4.9759,-1.9697 l 3.5639,2.3479 c 0.87292,-0.67715 0.88074,-0.77919 1.5702,-1.6156 l -2.641,-3.4228 c 0.66296,-1.044 1.5202,-3.0857 1.753,-4.3177 l 4.324,-0.65416 c 0.03623,-0.39307 0.03799,-1.4892 -0.06977,-2.1599 l -4.4054,-0.69303 c -0.32887,-1.1073 -1.4575,-3.1025 -2.1409,-4.0314 l 2.8,-3.2142 c -0.76558,-0.85369 -1.0502,-0.97082 -2.0124,-1.6403 l -3.688,2.408 c -1.024,-0.553 -3.066,-1.394 -4.262,-1.634 l -0.65149,-3.8471 c -0.59683,-0.06401 -2.3187,-0.03559 -2.6598,0 z"
352+ id="path37" />
353+ <path
354+ inkscape:connector-curvature="0"
355+ style="opacity:0.64772997;color:#000000;fill:none;stroke-width:0.71253002"
356+ d="m 32.454,72.306 a 5.7605,5.2524 0 0 1 -11.521,0 5.7605,5.2524 0 1 1 11.521,0 z"
357+ id="path39" />
358+ </g>
359+ <g
360+ inkscape:groupmode="layer"
361+ id="layer1"
362+ inkscape:label="Layer" />
363+ <path
364+ inkscape:connector-curvature="0"
365+ style="opacity:0.7307692;fill:url(#radialGradient3039);display:block"
366+ id="path18"
367+ display="block"
368+ d="m 45.727417,42.69184 a 12.808162,3.3105488 0 0 1 -25.616324,0 12.808162,3.3105488 0 1 1 25.616324,0 z" />
369+ <path
370+ inkscape:connector-curvature="0"
371+ style="fill:url(#radialGradient3801-2);fill-rule:evenodd;stroke:#444643;stroke-width:1.4004389;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
372+ id="path20"
373+ d="m 23.782384,20.340895 17.309455,12.840449 -7.891302,0.19482 c 0,0 3.309145,5.252911 3.309145,5.252911 1.018189,2.334628 -3.563722,3.21014 -4.327395,1.459169 l -3.054628,-5.25291 -5.600161,4.572004 0.254553,-19.066121 z" />
374+</svg>
375
376=== modified file 'include/bitmaps.h'
377--- include/bitmaps.h 2013-01-06 13:31:49 +0000
378+++ include/bitmaps.h 2013-02-19 10:10:25 +0000
379@@ -432,6 +432,7 @@
380 EXTERN_BITMAP( save_setup_xpm )
381 EXTERN_BITMAP( save_xpm )
382 EXTERN_BITMAP( schematic_xpm )
383+EXTERN_BITMAP( select_dialog_xpm )
384 EXTERN_BITMAP( select_grid_xpm )
385 EXTERN_BITMAP( select_layer_pair_xpm )
386 EXTERN_BITMAP( select_w_layer_xpm )
387
388=== modified file 'include/wxPcbStruct.h'
389--- include/wxPcbStruct.h 2013-02-02 17:39:59 +0000
390+++ include/wxPcbStruct.h 2013-02-19 10:10:25 +0000
391@@ -514,6 +514,7 @@
392 void Process_Special_Functions( wxCommandEvent& event );
393 void Tracks_and_Vias_Size_Event( wxCommandEvent& event );
394 void OnSelectTool( wxCommandEvent& aEvent );
395+ void OnSelectDialog( wxCommandEvent& aEvent );
396
397 /**
398 * Function OnResetModuleTextSizes
399
400=== modified file 'pcbnew/block.cpp'
401--- pcbnew/block.cpp 2012-06-08 09:56:42 +0000
402+++ pcbnew/block.cpp 2013-02-19 10:10:25 +0000
403@@ -83,6 +83,7 @@
404 static bool blockIncludePcbTexts = true;
405 static bool blockDrawItems = true;
406 static bool blockIncludeItemsOnInvisibleLayers = false;
407+static bool blockDontShowDialog = false;
408
409
410 /************************************/
411@@ -118,7 +119,7 @@
412 };
413
414
415-static bool InstallBlockCmdFrame( PCB_BASE_FRAME* parent, const wxString& title )
416+static bool InstallBlockCmdFrame( PCB_BASE_FRAME* parent, const wxString& title, bool noWarp = false )
417 {
418 wxPoint oldpos = parent->GetScreen()->GetCrossHairPosition();
419
420@@ -128,8 +129,12 @@
421 int cmd = dlg->ShowModal();
422 dlg->Destroy();
423
424- parent->GetScreen()->SetCrossHairPosition( oldpos );
425- parent->GetCanvas()->MoveCursorToCrossHair();
426+ if( !noWarp )
427+ {
428+ parent->GetScreen()->SetCrossHairPosition( oldpos );
429+ parent->GetCanvas()->MoveCursorToCrossHair();
430+ }
431+
432 parent->GetCanvas()->SetIgnoreMouseEvents( false );
433
434 return cmd == wxID_OK;
435@@ -156,6 +161,7 @@
436 m_Include_PcbTextes->SetValue( blockIncludePcbTexts );
437 m_DrawBlockItems->SetValue( blockDrawItems );
438 m_checkBoxIncludeInvisible->SetValue( blockIncludeItemsOnInvisibleLayers );
439+ m_DontShowOnDragSelect->SetValue( blockDontShowDialog );
440 m_sdbSizer1OK->SetDefault();
441 SetFocus();
442 GetSizer()->SetSizeHints( this );
443@@ -174,6 +180,7 @@
444 blockIncludePcbTexts = m_Include_PcbTextes->GetValue();
445 blockDrawItems = m_DrawBlockItems->GetValue();
446 blockIncludeItemsOnInvisibleLayers = m_checkBoxIncludeInvisible->GetValue();
447+ blockDontShowDialog = m_DontShowOnDragSelect->GetValue();
448
449 EndModal( wxID_OK );
450 }
451@@ -289,7 +296,7 @@
452 if( !GetScreen()->m_BlockLocate.GetCount()
453 && GetScreen()->m_BlockLocate.GetCommand() != BLOCK_ZOOM )
454 {
455- if( InstallBlockCmdFrame( this, _( "Block Operation" ) ) == false )
456+ if( !blockDontShowDialog && InstallBlockCmdFrame( this, _( "Block Operation" ) ) == false )
457 {
458 cancelCmd = true;
459
460@@ -378,6 +385,10 @@
461 return nextcmd;
462 }
463
464+void PCB_EDIT_FRAME::OnSelectDialog( wxCommandEvent& aEvent )
465+{
466+ InstallBlockCmdFrame( this, _( "Block Operation" ), true );
467+}
468
469 void PCB_EDIT_FRAME::Block_SelectItems()
470 {
471
472=== modified file 'pcbnew/dialogs/dialog_block_options_base.cpp'
473--- pcbnew/dialogs/dialog_block_options_base.cpp 2012-10-03 11:25:30 +0000
474+++ pcbnew/dialogs/dialog_block_options_base.cpp 2013-02-19 10:10:25 +0000
475@@ -1,5 +1,5 @@
476 ///////////////////////////////////////////////////////////////////////////
477-// C++ code generated with wxFormBuilder (version Apr 10 2012)
478+// C++ code generated with wxFormBuilder (version Oct 8 2012)
479 // http://www.wxformbuilder.org/
480 //
481 // PLEASE DO "NOT" EDIT THIS FILE!
482@@ -56,6 +56,12 @@
483 m_checkBoxIncludeInvisible = new wxCheckBox( this, wxID_ANY, _("Include items on invisible layers"), wxDefaultPosition, wxDefaultSize, 0 );
484 sbSizer1->Add( m_checkBoxIncludeInvisible, 0, wxALL, 5 );
485
486+ m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
487+ sbSizer1->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
488+
489+ m_DontShowOnDragSelect = new wxCheckBox( this, wxID_ANY, _("Don't show this dialog on drag select"), wxDefaultPosition, wxDefaultSize, 0 );
490+ sbSizer1->Add( m_DontShowOnDragSelect, 0, wxALL, 5 );
491+
492
493 bSizerMain->Add( sbSizer1, 1, wxALL|wxEXPAND, 5 );
494
495
496=== modified file 'pcbnew/dialogs/dialog_block_options_base.fbp'
497--- pcbnew/dialogs/dialog_block_options_base.fbp 2012-10-03 11:25:30 +0000
498+++ pcbnew/dialogs/dialog_block_options_base.fbp 2013-02-19 10:10:25 +0000
499@@ -91,7 +91,7 @@
500 <property name="name">bSizerMain</property>
501 <property name="orient">wxVERTICAL</property>
502 <property name="permission">none</property>
503- <object class="sizeritem" expanded="1">
504+ <object class="sizeritem" expanded="0">
505 <property name="border">5</property>
506 <property name="flag">wxALL|wxEXPAND</property>
507 <property name="proportion">1</property>
508@@ -107,7 +107,7 @@
509 <property name="border">5</property>
510 <property name="flag">wxEXPAND</property>
511 <property name="proportion">1</property>
512- <object class="wxGridSizer" expanded="0">
513+ <object class="wxGridSizer" expanded="1">
514 <property name="cols">2</property>
515 <property name="hgap">0</property>
516 <property name="minimum_size"></property>
517@@ -115,11 +115,11 @@
518 <property name="permission">none</property>
519 <property name="rows">4</property>
520 <property name="vgap">0</property>
521- <object class="sizeritem" expanded="0">
522+ <object class="sizeritem" expanded="1">
523 <property name="border">5</property>
524 <property name="flag">wxALL</property>
525 <property name="proportion">0</property>
526- <object class="wxCheckBox" expanded="0">
527+ <object class="wxCheckBox" expanded="1">
528 <property name="BottomDockable">1</property>
529 <property name="LeftDockable">1</property>
530 <property name="RightDockable">1</property>
531@@ -203,11 +203,11 @@
532 <event name="OnUpdateUI"></event>
533 </object>
534 </object>
535- <object class="sizeritem" expanded="0">
536+ <object class="sizeritem" expanded="1">
537 <property name="border">5</property>
538 <property name="flag">wxALL</property>
539 <property name="proportion">0</property>
540- <object class="wxCheckBox" expanded="0">
541+ <object class="wxCheckBox" expanded="1">
542 <property name="BottomDockable">1</property>
543 <property name="LeftDockable">1</property>
544 <property name="RightDockable">1</property>
545@@ -291,11 +291,11 @@
546 <event name="OnUpdateUI"></event>
547 </object>
548 </object>
549- <object class="sizeritem" expanded="0">
550+ <object class="sizeritem" expanded="1">
551 <property name="border">5</property>
552 <property name="flag">wxALL</property>
553 <property name="proportion">0</property>
554- <object class="wxCheckBox" expanded="0">
555+ <object class="wxCheckBox" expanded="1">
556 <property name="BottomDockable">1</property>
557 <property name="LeftDockable">1</property>
558 <property name="RightDockable">1</property>
559@@ -379,11 +379,11 @@
560 <event name="OnUpdateUI"></event>
561 </object>
562 </object>
563- <object class="sizeritem" expanded="0">
564+ <object class="sizeritem" expanded="1">
565 <property name="border">5</property>
566 <property name="flag">wxALL</property>
567 <property name="proportion">0</property>
568- <object class="wxCheckBox" expanded="0">
569+ <object class="wxCheckBox" expanded="1">
570 <property name="BottomDockable">1</property>
571 <property name="LeftDockable">1</property>
572 <property name="RightDockable">1</property>
573@@ -467,11 +467,11 @@
574 <event name="OnUpdateUI"></event>
575 </object>
576 </object>
577- <object class="sizeritem" expanded="0">
578+ <object class="sizeritem" expanded="1">
579 <property name="border">5</property>
580 <property name="flag">wxALL</property>
581 <property name="proportion">0</property>
582- <object class="wxCheckBox" expanded="0">
583+ <object class="wxCheckBox" expanded="1">
584 <property name="BottomDockable">1</property>
585 <property name="LeftDockable">1</property>
586 <property name="RightDockable">1</property>
587@@ -555,11 +555,11 @@
588 <event name="OnUpdateUI"></event>
589 </object>
590 </object>
591- <object class="sizeritem" expanded="0">
592+ <object class="sizeritem" expanded="1">
593 <property name="border">5</property>
594 <property name="flag">wxALL</property>
595 <property name="proportion">0</property>
596- <object class="wxCheckBox" expanded="0">
597+ <object class="wxCheckBox" expanded="1">
598 <property name="BottomDockable">1</property>
599 <property name="LeftDockable">1</property>
600 <property name="RightDockable">1</property>
601@@ -643,11 +643,11 @@
602 <event name="OnUpdateUI"></event>
603 </object>
604 </object>
605- <object class="sizeritem" expanded="0">
606+ <object class="sizeritem" expanded="1">
607 <property name="border">5</property>
608 <property name="flag">wxALL</property>
609 <property name="proportion">0</property>
610- <object class="wxCheckBox" expanded="0">
611+ <object class="wxCheckBox" expanded="1">
612 <property name="BottomDockable">1</property>
613 <property name="LeftDockable">1</property>
614 <property name="RightDockable">1</property>
615@@ -731,11 +731,11 @@
616 <event name="OnUpdateUI"></event>
617 </object>
618 </object>
619- <object class="sizeritem" expanded="0">
620+ <object class="sizeritem" expanded="1">
621 <property name="border">5</property>
622 <property name="flag">wxALL</property>
623 <property name="proportion">0</property>
624- <object class="wxCheckBox" expanded="0">
625+ <object class="wxCheckBox" expanded="1">
626 <property name="BottomDockable">1</property>
627 <property name="LeftDockable">1</property>
628 <property name="RightDockable">1</property>
629@@ -990,6 +990,175 @@
630 <event name="OnUpdateUI"></event>
631 </object>
632 </object>
633+ <object class="sizeritem" expanded="1">
634+ <property name="border">5</property>
635+ <property name="flag">wxEXPAND | wxALL</property>
636+ <property name="proportion">0</property>
637+ <object class="wxStaticLine" expanded="1">
638+ <property name="BottomDockable">1</property>
639+ <property name="LeftDockable">1</property>
640+ <property name="RightDockable">1</property>
641+ <property name="TopDockable">1</property>
642+ <property name="aui_layer"></property>
643+ <property name="aui_name"></property>
644+ <property name="aui_position"></property>
645+ <property name="aui_row"></property>
646+ <property name="best_size"></property>
647+ <property name="bg"></property>
648+ <property name="caption"></property>
649+ <property name="caption_visible">1</property>
650+ <property name="center_pane">0</property>
651+ <property name="close_button">1</property>
652+ <property name="context_help"></property>
653+ <property name="context_menu">1</property>
654+ <property name="default_pane">0</property>
655+ <property name="dock">Dock</property>
656+ <property name="dock_fixed">0</property>
657+ <property name="docking">Left</property>
658+ <property name="enabled">1</property>
659+ <property name="fg"></property>
660+ <property name="floatable">1</property>
661+ <property name="font"></property>
662+ <property name="gripper">0</property>
663+ <property name="hidden">0</property>
664+ <property name="id">wxID_ANY</property>
665+ <property name="max_size"></property>
666+ <property name="maximize_button">0</property>
667+ <property name="maximum_size"></property>
668+ <property name="min_size"></property>
669+ <property name="minimize_button">0</property>
670+ <property name="minimum_size"></property>
671+ <property name="moveable">1</property>
672+ <property name="name">m_staticline2</property>
673+ <property name="pane_border">1</property>
674+ <property name="pane_position"></property>
675+ <property name="pane_size"></property>
676+ <property name="permission">protected</property>
677+ <property name="pin_button">1</property>
678+ <property name="pos"></property>
679+ <property name="resize">Resizable</property>
680+ <property name="show">1</property>
681+ <property name="size"></property>
682+ <property name="style">wxLI_HORIZONTAL</property>
683+ <property name="subclass"></property>
684+ <property name="toolbar_pane">0</property>
685+ <property name="tooltip"></property>
686+ <property name="window_extra_style"></property>
687+ <property name="window_name"></property>
688+ <property name="window_style"></property>
689+ <event name="OnChar"></event>
690+ <event name="OnEnterWindow"></event>
691+ <event name="OnEraseBackground"></event>
692+ <event name="OnKeyDown"></event>
693+ <event name="OnKeyUp"></event>
694+ <event name="OnKillFocus"></event>
695+ <event name="OnLeaveWindow"></event>
696+ <event name="OnLeftDClick"></event>
697+ <event name="OnLeftDown"></event>
698+ <event name="OnLeftUp"></event>
699+ <event name="OnMiddleDClick"></event>
700+ <event name="OnMiddleDown"></event>
701+ <event name="OnMiddleUp"></event>
702+ <event name="OnMotion"></event>
703+ <event name="OnMouseEvents"></event>
704+ <event name="OnMouseWheel"></event>
705+ <event name="OnPaint"></event>
706+ <event name="OnRightDClick"></event>
707+ <event name="OnRightDown"></event>
708+ <event name="OnRightUp"></event>
709+ <event name="OnSetFocus"></event>
710+ <event name="OnSize"></event>
711+ <event name="OnUpdateUI"></event>
712+ </object>
713+ </object>
714+ <object class="sizeritem" expanded="1">
715+ <property name="border">5</property>
716+ <property name="flag">wxALL</property>
717+ <property name="proportion">0</property>
718+ <object class="wxCheckBox" expanded="1">
719+ <property name="BottomDockable">1</property>
720+ <property name="LeftDockable">1</property>
721+ <property name="RightDockable">1</property>
722+ <property name="TopDockable">1</property>
723+ <property name="aui_layer"></property>
724+ <property name="aui_name"></property>
725+ <property name="aui_position"></property>
726+ <property name="aui_row"></property>
727+ <property name="best_size"></property>
728+ <property name="bg"></property>
729+ <property name="caption"></property>
730+ <property name="caption_visible">1</property>
731+ <property name="center_pane">0</property>
732+ <property name="checked">0</property>
733+ <property name="close_button">1</property>
734+ <property name="context_help"></property>
735+ <property name="context_menu">1</property>
736+ <property name="default_pane">0</property>
737+ <property name="dock">Dock</property>
738+ <property name="dock_fixed">0</property>
739+ <property name="docking">Left</property>
740+ <property name="enabled">1</property>
741+ <property name="fg"></property>
742+ <property name="floatable">1</property>
743+ <property name="font"></property>
744+ <property name="gripper">0</property>
745+ <property name="hidden">0</property>
746+ <property name="id">wxID_ANY</property>
747+ <property name="label">Don&apos;t show this dialog on drag select</property>
748+ <property name="max_size"></property>
749+ <property name="maximize_button">0</property>
750+ <property name="maximum_size"></property>
751+ <property name="min_size"></property>
752+ <property name="minimize_button">0</property>
753+ <property name="minimum_size"></property>
754+ <property name="moveable">1</property>
755+ <property name="name">m_DontShowOnDragSelect</property>
756+ <property name="pane_border">1</property>
757+ <property name="pane_position"></property>
758+ <property name="pane_size"></property>
759+ <property name="permission">protected</property>
760+ <property name="pin_button">1</property>
761+ <property name="pos"></property>
762+ <property name="resize">Resizable</property>
763+ <property name="show">1</property>
764+ <property name="size"></property>
765+ <property name="style"></property>
766+ <property name="subclass"></property>
767+ <property name="toolbar_pane">0</property>
768+ <property name="tooltip"></property>
769+ <property name="validator_data_type"></property>
770+ <property name="validator_style">wxFILTER_NONE</property>
771+ <property name="validator_type">wxDefaultValidator</property>
772+ <property name="validator_variable"></property>
773+ <property name="window_extra_style"></property>
774+ <property name="window_name"></property>
775+ <property name="window_style"></property>
776+ <event name="OnChar"></event>
777+ <event name="OnCheckBox"></event>
778+ <event name="OnEnterWindow"></event>
779+ <event name="OnEraseBackground"></event>
780+ <event name="OnKeyDown"></event>
781+ <event name="OnKeyUp"></event>
782+ <event name="OnKillFocus"></event>
783+ <event name="OnLeaveWindow"></event>
784+ <event name="OnLeftDClick"></event>
785+ <event name="OnLeftDown"></event>
786+ <event name="OnLeftUp"></event>
787+ <event name="OnMiddleDClick"></event>
788+ <event name="OnMiddleDown"></event>
789+ <event name="OnMiddleUp"></event>
790+ <event name="OnMotion"></event>
791+ <event name="OnMouseEvents"></event>
792+ <event name="OnMouseWheel"></event>
793+ <event name="OnPaint"></event>
794+ <event name="OnRightDClick"></event>
795+ <event name="OnRightDown"></event>
796+ <event name="OnRightUp"></event>
797+ <event name="OnSetFocus"></event>
798+ <event name="OnSize"></event>
799+ <event name="OnUpdateUI"></event>
800+ </object>
801+ </object>
802 </object>
803 </object>
804 <object class="sizeritem" expanded="1">
805
806=== modified file 'pcbnew/dialogs/dialog_block_options_base.h'
807--- pcbnew/dialogs/dialog_block_options_base.h 2012-10-03 11:25:30 +0000
808+++ pcbnew/dialogs/dialog_block_options_base.h 2013-02-19 10:10:25 +0000
809@@ -1,5 +1,5 @@
810 ///////////////////////////////////////////////////////////////////////////
811-// C++ code generated with wxFormBuilder (version Apr 10 2012)
812+// C++ code generated with wxFormBuilder (version Oct 8 2012)
813 // http://www.wxformbuilder.org/
814 //
815 // PLEASE DO "NOT" EDIT THIS FILE!
816@@ -11,6 +11,8 @@
817 #include <wx/artprov.h>
818 #include <wx/xrc/xmlres.h>
819 #include <wx/intl.h>
820+class DIALOG_SHIM;
821+
822 #include "dialog_shim.h"
823 #include <wx/string.h>
824 #include <wx/checkbox.h>
825@@ -45,6 +47,8 @@
826 wxCheckBox* m_DrawBlockItems;
827 wxStaticLine* m_staticline1;
828 wxCheckBox* m_checkBoxIncludeInvisible;
829+ wxStaticLine* m_staticline2;
830+ wxCheckBox* m_DontShowOnDragSelect;
831 wxStdDialogButtonSizer* m_sdbSizer1;
832 wxButton* m_sdbSizer1OK;
833 wxButton* m_sdbSizer1Cancel;
834
835=== modified file 'pcbnew/edit.cpp'
836--- pcbnew/edit.cpp 2013-01-12 17:32:24 +0000
837+++ pcbnew/edit.cpp 2013-02-19 10:10:25 +0000
838@@ -1385,3 +1385,4 @@
839 break;
840 }
841 }
842+
843
844=== modified file 'pcbnew/pcbframe.cpp'
845--- pcbnew/pcbframe.cpp 2013-02-02 17:39:59 +0000
846+++ pcbnew/pcbframe.cpp 2013-02-19 10:10:25 +0000
847@@ -206,6 +206,7 @@
848
849 // Vertical main toolbar:
850 EVT_TOOL( ID_NO_TOOL_SELECTED, PCB_EDIT_FRAME::OnSelectTool )
851+ EVT_TOOL( ID_PCB_SELECTION_DIALOG_BUTT, PCB_EDIT_FRAME::OnSelectDialog )
852 EVT_TOOL_RANGE( ID_PCB_HIGHLIGHT_BUTT, ID_PCB_PLACE_GRID_COORD_BUTT,
853 PCB_EDIT_FRAME::OnSelectTool )
854
855
856=== modified file 'pcbnew/pcbnew_id.h'
857--- pcbnew/pcbnew_id.h 2012-12-21 07:58:51 +0000
858+++ pcbnew/pcbnew_id.h 2013-02-19 10:10:25 +0000
859@@ -21,6 +21,7 @@
860 ID_SET_RELATIVE_OFFSET,
861
862 // Right vertical tool bar command IDs.
863+ ID_PCB_SELECTION_DIALOG_BUTT,
864 ID_PCB_HIGHLIGHT_BUTT,
865 ID_PCB_SHOW_1_RATSNEST_BUTT,
866 ID_PCB_MODULE_BUTT,
867
868=== modified file 'pcbnew/tool_pcb.cpp'
869--- pcbnew/tool_pcb.cpp 2013-01-18 14:12:57 +0000
870+++ pcbnew/tool_pcb.cpp 2013-02-19 10:10:25 +0000
871@@ -420,6 +420,9 @@
872 // Set up toolbar
873 m_drawToolBar->AddTool( ID_NO_TOOL_SELECTED, wxEmptyString, KiBitmap( cursor_xpm ),
874 wxEmptyString, wxITEM_CHECK );
875+ m_drawToolBar->AddTool( ID_PCB_SELECTION_DIALOG_BUTT, wxEmptyString, KiBitmap( select_dialog_xpm ),
876+ _( "Selection Dialog" ), wxITEM_NORMAL );
877+
878 m_drawToolBar->AddSeparator();
879
880 m_drawToolBar->AddTool( ID_PCB_HIGHLIGHT_BUTT, wxEmptyString, KiBitmap( net_highlight_xpm ),