Merge lp:~kicad-gost-committers/kicad/kicad into lp:kicad/product
- kicad
- Merge into product
Status: | Rejected | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rejected by: | Chris Pavlina | ||||||||||||||||||||||||||||||||
Proposed branch: | lp:~kicad-gost-committers/kicad/kicad | ||||||||||||||||||||||||||||||||
Merge into: | lp:kicad/product | ||||||||||||||||||||||||||||||||
Diff against target: |
176611 lines (+37823/-68720) 140 files modified
.bzrignore (+1/-0) CMakeLists.txt (+44/-1) CMakeModules/CreateBzrVersionHeader.cmake (+5/-1) CMakeModules/FindOpenOffice.cmake (+192/-0) common/build_version.cpp (+4/-0) common/class_plotter.cpp (+5/-0) common/dialog_about/AboutDialog_main.cpp (+3/-0) common/gr_basic.cpp (+8/-0) common/kiway.cpp (+8/-0) cvpcb/cvframe.cpp (+8/-0) cvpcb/cvpcb_mainframe.h (+3/-0) cvpcb/readwrite_dlgs.cpp (+37/-1) demos/CMakeLists.txt (+1/-0) demos/GOST/multivibrator-comp-idx-kicad_uno_iface.log (+103/-0) demos/GOST/multivibrator-spec-kicad_uno_iface.log (+180/-0) demos/GOST/multivibrator.sch (+250/-0) eeschema/BOM/BOM_lister.h (+190/-0) eeschema/BOM/build_BOM.cpp (+736/-0) eeschema/BOM/dialogs/dialog_build_BOM.cpp (+592/-0) eeschema/BOM/dialogs/dialog_build_BOM.h (+93/-0) eeschema/BOM/dialogs/dialog_build_BOM_base.cpp (+157/-0) eeschema/BOM/dialogs/dialog_build_BOM_base.fbp (+2060/-0) eeschema/BOM/dialogs/dialog_build_BOM_base.h (+83/-0) eeschema/CMakeLists.txt (+54/-0) eeschema/GOST-doc-gen/CMakeLists.txt (+129/-0) eeschema/GOST-doc-gen/GOST_comp_manager.cpp (+1051/-0) eeschema/GOST-doc-gen/GOST_comp_manager.h (+96/-0) eeschema/GOST-doc-gen/common_doc_iface.h (+55/-0) eeschema/GOST-doc-gen/common_funcs.cpp (+493/-0) eeschema/GOST-doc-gen/common_funcs.h (+60/-0) eeschema/GOST-doc-gen/component.cpp (+435/-0) eeschema/GOST-doc-gen/component.h (+103/-0) eeschema/GOST-doc-gen/component_db.cpp (+913/-0) eeschema/GOST-doc-gen/component_db.h (+134/-0) eeschema/GOST-doc-gen/dialogs/frame_GOST_doc_gen_base.cpp (+234/-0) eeschema/GOST-doc-gen/dialogs/frame_GOST_doc_gen_base.fbp (+1642/-0) eeschema/GOST-doc-gen/dialogs/frame_GOST_doc_gen_base.h (+106/-0) eeschema/GOST-doc-gen/dictionaries.cpp (+135/-0) eeschema/GOST-doc-gen/dictionaries.h (+58/-0) eeschema/GOST-doc-gen/doc_common.cpp (+1349/-0) eeschema/GOST-doc-gen/doc_common.h (+218/-0) eeschema/GOST-doc-gen/doc_common.py (+244/-0) eeschema/GOST-doc-gen/doc_component_index.cpp (+229/-0) eeschema/GOST-doc-gen/doc_component_index.h (+45/-0) eeschema/GOST-doc-gen/doc_specification.cpp (+649/-0) eeschema/GOST-doc-gen/doc_specification.h (+57/-0) eeschema/GOST-doc-gen/oo_iface.cxx (+320/-0) eeschema/GOST-doc-gen/oo_iface.hxx (+118/-0) eeschema/GOST-doc-gen/oo_python_uno_iface.cpp (+212/-0) eeschema/GOST-doc-gen/oo_python_uno_iface.h (+57/-0) eeschema/GOST-doc-gen/rpc_doc_iface.cpp (+286/-0) eeschema/GOST-doc-gen/rpc_doc_iface.h (+66/-0) eeschema/GOST-doc-gen/uno_iface.py (+207/-0) eeschema/component_references_lister.cpp (+221/-0) eeschema/general.h (+16/-0) eeschema/help_common_strings.h (+6/-0) eeschema/libedit.cpp (+4/-0) eeschema/menubar.cpp (+25/-0) eeschema/pinedit.cpp (+9/-1) eeschema/sch_junction.cpp (+1/-1) eeschema/sch_reference_list.h (+71/-0) eeschema/schframe.cpp (+32/-0) eeschema/schframe.h (+12/-0) eeschema/tool_viewlib.cpp (+4/-0) extra/pcad2kicadsch/CMakeLists.txt (+117/-0) extra/pcad2kicadsch/Info.plist (+52/-0) extra/pcad2kicadsch/README.txt (+62/-0) extra/pcad2kicadsch/dialogs/pcad2kicad_frame_base.cpp (+64/-0) extra/pcad2kicadsch/dialogs/pcad2kicad_frame_base.fbp (+475/-0) extra/pcad2kicadsch/dialogs/pcad2kicad_frame_base.h (+61/-0) extra/pcad2kicadsch/pcad2kicad.cpp (+134/-0) extra/pcad2kicadsch/pcad2kicad.h (+56/-0) extra/pcad2kicadsch/pcad2kicad_frame.cpp (+207/-0) extra/pcad2kicadsch/pcad2kicadsch.rc (+1/-0) extra/pcad2kicadsch/sch.cpp (+244/-0) extra/pcad2kicadsch/sch.h (+66/-0) extra/pcad2kicadsch/sch_arc.cpp (+142/-0) extra/pcad2kicadsch/sch_arc.h (+62/-0) extra/pcad2kicadsch/sch_bus.cpp (+97/-0) extra/pcad2kicadsch/sch_bus.h (+51/-0) extra/pcad2kicadsch/sch_component.cpp (+64/-0) extra/pcad2kicadsch/sch_component.h (+63/-0) extra/pcad2kicadsch/sch_junction.cpp (+83/-0) extra/pcad2kicadsch/sch_junction.h (+57/-0) extra/pcad2kicadsch/sch_line.cpp (+240/-0) extra/pcad2kicadsch/sch_line.h (+63/-0) extra/pcad2kicadsch/sch_module.cpp (+419/-0) extra/pcad2kicadsch/sch_module.h (+79/-0) extra/pcad2kicadsch/sch_pin.cpp (+259/-0) extra/pcad2kicadsch/sch_pin.h (+69/-0) extra/pcad2kicadsch/sch_port.cpp (+94/-0) extra/pcad2kicadsch/sch_port.h (+56/-0) extra/pcad2kicadsch/sch_sheet.cpp (+423/-0) extra/pcad2kicadsch/sch_sheet.h (+67/-0) extra/pcad2kicadsch/sch_symbol.cpp (+446/-0) extra/pcad2kicadsch/sch_symbol.h (+75/-0) extra/pcad2kicadsch/sch_text.cpp (+108/-0) extra/pcad2kicadsch/sch_text.h (+55/-0) include/common.h (+20/-0) include/frame_type.h (+4/-0) include/id.h (+5/-0) include/kiway.h (+3/-1) pcbnew/hotkeys.cpp (+7/-4) pcbnew/hotkeys.h (+1/-0) pcbnew/hotkeys_board_editor.cpp (+7/-0) pcbnew/kicad_netlist_reader.cpp (+42/-0) pcbnew/legacy_netlist_reader.cpp (+5/-1) pcbnew/onrightclick.cpp (+5/-2) pcbnew/pcad2kicadpcb_plugin/examples/CK1202_V1.kicad_pcb (+18172/-0) pcbnew/pcad2kicadpcb_plugin/examples/CK1202_V1.pcb (+0/-66655) pcbnew/pcad2kicadpcb_plugin/examples/files.txt (+0/-6) pcbnew/pcad2kicadpcb_plugin/pcad2kicad_common.h (+0/-88) pcbnew/pcad2kicadpcb_plugin/pcb_arc.h (+0/-61) pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.cpp (+0/-112) pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.h (+0/-54) pcbnew/pcad2kicadpcb_plugin/pcb_cutout.cpp (+0/-74) pcbnew/pcad2kicadpcb_plugin/pcb_cutout.h (+0/-53) pcbnew/pcad2kicadpcb_plugin/pcb_keepout.cpp (+0/-76) pcbnew/pcad2kicadpcb_plugin/pcb_keepout.h (+0/-52) pcbnew/pcad2kicadpcb_plugin/pcb_line.h (+0/-62) pcbnew/pcad2kicadpcb_plugin/pcb_module.h (+0/-75) pcbnew/pcad2kicadpcb_plugin/pcb_net.cpp (+0/-104) pcbnew/pcad2kicadpcb_plugin/pcb_net.h (+0/-68) pcbnew/pcad2kicadpcb_plugin/pcb_pad.h (+0/-64) pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.cpp (+0/-142) pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h (+0/-61) pcbnew/pcad2kicadpcb_plugin/pcb_plane.cpp (+0/-95) pcbnew/pcad2kicadpcb_plugin/pcb_plane.h (+0/-53) pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h (+0/-75) pcbnew/pcad2kicadpcb_plugin/pcb_text.cpp (+0/-133) pcbnew/pcad2kicadpcb_plugin/pcb_text.h (+0/-59) pcbnew/pcad2kicadpcb_plugin/pcb_via.cpp (+0/-139) pcbnew/pcad2kicadpcb_plugin/pcb_via.h (+0/-54) pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.cpp (+0/-88) pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.h (+0/-52) pcbnew/pcad2kicadpcb_plugin/s_expr_loader.cpp (+0/-115) pcbnew/pcad2kicadpcb_plugin/s_expr_loader.h (+0/-37) pcbnew/pcb_netlist.h (+13/-0) scripting/python_scripting.cpp (+3/-0) template/kicad.pro (+6/-0) |
||||||||||||||||||||||||||||||||
To merge this branch: | bzr merge lp:~kicad-gost-committers/kicad/kicad | ||||||||||||||||||||||||||||||||
Related bugs: |
|
||||||||||||||||||||||||||||||||
Related blueprints: |
"Show All" and "Hide All" buttons
(Undefined)
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Wayne Stambaugh | Disapprove | ||
jean-pierre charras | Needs Information | ||
Review via email: mp+163239@code.launchpad.net |
Commit message
Description of the change
1) implemented document generator conforming to Russian standards (the root regulating document is "GOST 2.001-93"). The generator forms component index and specification documents by means of OpenOffice or LibreOffice
2) implemented component manager (contains only English words and could be used by any KiCad user for general purpose). Features:
- listing all components and displaying the full component string in the form how it would be printed in the resultant documents
- adding new circuit variants
- viewing and working with components in various planes (full list, constant part, variable part for given variant)
- assigning components to variants
- possibility to assign a component "not installed" status. This status will be displayed in the component index document and as a result such components will not be printed in the specification document
- editing component attributes (Title, Value, Type, Precision and so on)
- components with reference description like "A1C1" are formed into sets and appropriately printed in the resultant documents
- possibility to edit components as a group by means of multiple selection in the main table of the component manager
- all changes made in both the eeshema and the component manager are mutually reflected to each other (invisibly to a user)
- initiating immediate generation of GOST documents from the component manager
- 4111. By Alexander Lunev
-
merge with lp:kicad branch
jean-pierre charras (jp-charras) wrote : | # |
Alexander Lunev (al-lunev) wrote : | # |
The explanation was provided: "Implemented document generator conforming to Russian standards."
The root regulating document of these standards is "ГОСТ 2.001-93" (http://
There are comments in sources but not in all places.
Some of the places do not need to be documented in the code because the code is written according to the standards. The standards are the main source of comments. If some code does not conform to the standards then it is buggy and should be corrected according to the standards.
The purpose of this new feature is to automatically generate component index and specification documents by means of OpenOffice or LibreOffice and according to Russian standards.
As you can see, all this code is put into KICAD_GOST conditional compilation section. This section is intended for Russian speaking people only and only for countries where the mentioned above standards are valid. Such countries are Russia, Belarus, Ukraine, Moldova, Kazakhstan, Azerbaijan, Armenia, Kyrgyzstan, Uzbekistan, Tajikistan, Georgia, and Turkmenistan (http://
Thus the strings which are in Russian are put into the resulting forms. The format of these forms is dictated by Russian standards and it must be as it is.
- 4112. By Alexander Lunev
-
uno_iface.py: supported Python 3
jean-pierre charras (jp-charras) wrote : | # |
"Implemented document generator" has not a lot of meaning, it covers many things.
And your main link is a russian doc. I am still not able to know what is doing your patch.
Is something a like a Bill of Material ?
If yes, now the right approach is to use the generic xml netlist to extract the schematic info, and external tools (scripts, or other tools) to parse this netlist and create the doc, not to add code inside the existing kicad code.
This is fully transparent for the user.
See Eeschema, chapter 14 for more info.
There are also few examples in python in sources.
I do not agree with the sentence:
"This section is intended for Russian speaking people only and only for countries where the mentioned above standards are valid"
I am talking about Kicad code. It should be readable by all developpers.
You can use English sentences, and internationaliz
When they should be in a given language, at least they can be defined under an English #define keyword
- 4113. By Alexander Lunev
-
fixed an issue with UTF8 encoding
Alexander Lunev (al-lunev) wrote : | # |
""Implemented document generator" has not a lot of meaning, it covers many things."
Instead I wrote "Implemented document generator conforming to Russian standards". This means that the generator forms documents according to the set of Russian standards.
In this specific sphere (electronic circuit diagrams and accompanying documentation) we have only one valid standard in Russia. Its name, if translate it to English, is "Unified system for design documentation". The root regulating document of the standard is "ГОСТ 2.001-93". "ГОСТ" can be transliterated to English as "GOST". That is why there is cmake KICAD_GOST option in KiCad.
This new feature (generator) is intended only for Russia users and users of other countries which use the same standard (the standard is in Russian).
"Is something a like a Bill of Material ?
If yes, now the right approach is to use the generic xml netlist to extract the schematic info, and external tools (scripts, or other tools) to parse this netlist and create the doc, not to add code inside the existing kicad code.
This is fully transparent for the user."
Yes, it is like a BOM.
Using an intermediate file is NOT the right approach. It is only possible approach and can be considered as a minimum goal.
And it is not transparent to an ordinary user.
It is transparent to an ordinary user if a user clicks one button and everything works, the user immediately takes the generated documents. It is a more elaborate and difficult task. Moreover, this task has been already completed.
Among cons of using an intermediate file are:
1) e-mails like this: "[kicad-users] Python library script "pcbnew" - where is it?"
2) choosing correct settings by a user in KiCad to generate the right form of an intermediate file
3) synchronizing the source code of GOST-doc-gen and rebuilding it every time when the format of an intermediate file is changed
And I do not understand you. In case of pcad2kicad, standalone executable and an intermediate xml file are bad. But here all these "devils" are good!?
"You can use English sentences, and internationaliz
What for?
Languages other than Russian are not used for these literals.
jean-pierre charras (jp-charras) wrote : | # |
The intermediate file is not an intermediate file:
it is *the* new netlist format, which exists under 2 format:
a S-expression format (easy to parse with the s-expr internal parser)
a xml format: the same file, easy to parse with external xml parsers.
This netlist contains all data to create BOM and boards ...
Many post processings uses a netlist, so I do not understand why is NOT the right approach.
And yes, using this approach is fully transparent to the user, once the comand line is initialized (see the netlist dialog). Only one click to generate the file. And the user does not know there is an intermediate file (kicad already uses intermediate files).
Yours cons are irrelevant:
1 - the guy has not even had a look to files in kicad (kicad/python)
2 - there is no setting (just a command line which could be predefined)
3 - intermediate file does not change as fast as the kicad internal code.
For kicad2pcad, you forgot what I said you:
1 - Pcbnew includes a plugin mechanism to import files, use it.
2 - the file to convert was a S-expr files, and pcbnew has a very good S-expr parser. Why to write your S-expr code parser to create an inttermediate file with a new parser, this was duplicate and/or useless code.
This is very different from the BOM generation
About Russian literals, one time more, I am saying I am talking about internal Kicad code.
Your patch come with not comments, and many sentences not readable for non Russian contributors
It means this work cannot be modified and used by some other contributor which want mo modify the BOM to make their own BOM format.
Each company has its BOM format, therefore GOST format is only one of multiple existing formats.
Creating code which cannot be understood by contributors is not the spirit of free open source software.
Besides, the patch creates a heavy dependance of Kicad sources with openoffice/
This is a *major drawback*.
This can be easily avoided by a fully external script.
If it is only for Russian users, no problem with Russian literals.
But if it is only for Russian users, there is no room for this patch inside Kicad code.
Code inside Kicad is made for everybody.
Therefore I cannot accept your patch.
Alexander Lunev (al-lunev) wrote : | # |
Now I generated netlist file and there are not at least the following fields:
TITLE_BLOCK.
TITLE_BLOCK.
TITLE_BLOCK.
TITLE_BLOCK.
TITLE_BLOCK.
and so on.
These fields and many other are necessary for GOST-doc-gen. All the necessary fields are easily accessible inside of KiCad eeschema.
"And yes, using this approach is fully transparent to the user, once the comand line is initialized (see the netlist dialog). Only one click to generate the file. And the user does not know there is an intermediate file"
And what is next?
1) A user clicked 2) the user does not know there is an intermediate file 3) and what is next? Where are the resultant GOST documents?
"Yours cons are irrelevant:
1 - the guy has not even had a look to files in kicad (kicad/python)
2 - there is no setting (just a command line which could be predefined)
3 - intermediate file does not change as fast as the kicad internal code."
1,2 - explain, please, the whole picture in detail (from the click up to getting the resultant GOST documents).
3 - file formats of KiCad change quite often. In case of embedding GOST-doc-gen inside of eeschema sources, any changes in eeschema will be synchronously made in both the eeschema and GOST-doc-gen part. And it is transparent to a user because a user does not need to search for compatible GOST-doc-gen executible if such even exists. Taking the same benefit for pcad2kicad into a account I agreed with Wayne to transform standalone executable into pcad2kicad Pcbnew plugin.
And I do not understand why you are so insisting on separating everything from KiCad.
According to your logic, may be let us remove Gerber or VRML generation from Pcbnew? Because it is enough to have the external kicad_pcb file format? May be let us have external tools to generate Gerber and so on?
By the way, where is pcad2kicadsch in the KiCad source tree?
The whole year has already passed however pcad2kicadsch still lives as a separate project. And all this despite all your and the rest of KiCad admin caprices were satisfied!
"About Russian literals, one time more, I am saying I am talking about internal Kicad code.
Your patch come with not comments, and many sentences not readable for non Russian contributors
It means this work cannot be modified and used by some other contributor which want mo modify the BOM to make their own BOM format.
Each company has its BOM format, therefore GOST format is only one of multiple existing formats."
Once more again, "Your patch come with not comments" is not the truth. There are comments but in not all places. I am going to add more comments.
I doubt that adopting my work by other non Russian speaking contributors for countries which do not use the GOST makes sense. I mean the specific part of code which implements GOST requirements and contains Russian literals.
I suggest you to compile KICAD_GOST version and take a look at generated forms (no source dependencies, only OpenOffice or LibreOffice needs to be installed). There is a sample circuit in demos (demos/
If you really thinks that such forms of documents can be adopted then no problem, I, of...
- 4114. By Alexander Lunev
-
added GOST component manager
- 4115. By Alexander Lunev
-
fixed an issue with processing the first line of the main table (listCtrl);
fixed an issue with eeschema not asking to save project if component attributes actually changed;
supported floating window of component manager (from now on the component manager can lose focus without the need to close its windows)
Konstantin Baranovskiy (baranovskiykonstantin) wrote : | # |
@jean-pierre charras, function GOST_doc_gen really a very important tool in the design of electronic circuits and implemented it qualitatively (thanks to Alexander Lunev). I see no reason to give up the proposed functionality. All the more so implemented interfaces can be used by other developers to implement new features.
Wayne Stambaugh (stambaughw) wrote : | # |
This merge request is a highly domain specific (GOST) solution that's only purpose it to create a BOM in the GOST format. Given the support issues with our current BOM output (not the generic netlist support), the last thing we need is yet another BOM generator that users will complain about. Check the users mailing list on Yahoo if you don't believe this is an issue. It also pulls in the OpenOffice API and RPC as optional build dependencies which I have no interest in supporting. It increases the number of #ifdef GOST/#endif conditional code which the project has been working at reducing. The eventual goal is to add user definable borders and title blocks which would eliminate all of the GOST code except the reference designators used in component sub-parts which could probably be replace with some type of user definable string substitution. If this was implemented as script called by the new netlist post processing support I would be more inclined to include it as a good example of how to export a BOM into an OpenOffice file. Adding the title block information to information to the XML netlist probably would be that objectionable and then you would have all of the information you need to generate your OpenOffice file using ptyhon-uno. I recommend that this be kept as a user specific branch.
Alexander Lunev (al-lunev) wrote : | # |
Wayne, you disappointed me once again.
The first time was with pcad2kicad standalone executable.
The situation has repeated. When a hard work is already completed and ready to use by many users around the world, you suggest to throw it away not concerning the users and me of course.
You also said nothing about the component manager:
"implemented component manager (contains only English words and could be used by any KiCad user for general purpose). Features:
- listing all components and displaying the full component string in the form how it would be printed in the resultant documents
- adding new circuit variants
- viewing and working with components in various planes (full list, constant part, variable part for given variant)
- assigning components to variants
- possibility to assign a component "not installed" status. This status will be displayed in the component index document and as a result such components will not be printed in the specification document
- editing component attributes (Title, Value, Type, Precision and so on)
- components with reference description like "A1C1" are formed into sets and appropriately printed in the resultant documents
- possibility to edit components as a group by means of multiple selection in the main table of the component manager
- all changes made in both the eeshema and the component manager are mutually reflected to each other (invisibly to a user)
- initiating immediate generation of GOST documents from the component manager"
Wayne Stambaugh (stambaughw) wrote : | # |
On 5/13/2013 6:43 PM, Alexander Lunev wrote:
> Wayne, you disappointed me once again.
> The first time was with pcad2kicad standalone executable.
>
> The situation has repeated. When a hard work is already completed and ready to use by many users around the world, you suggest to throw it away not concerning the users and me of course.
>
> You also said nothing about the component manager:
>
> "implemented component manager (contains only English words and could be used by any KiCad user for general purpose). Features:
> - listing all components and displaying the full component string in the form how it would be printed in the resultant documents
> - adding new circuit variants
> - viewing and working with components in various planes (full list, constant part, variable part for given variant)
> - assigning components to variants
> - possibility to assign a component "not installed" status. This status will be displayed in the component index document and as a result such components will not be printed in the specification document
> - editing component attributes (Title, Value, Type, Precision and so on)
> - components with reference description like "A1C1" are formed into sets and appropriately printed in the resultant documents
> - possibility to edit components as a group by means of multiple selection in the main table of the component manager
> - all changes made in both the eeshema and the component manager are mutually reflected to each other (invisibly to a user)
> - initiating immediate generation of GOST documents from the component manager"
>
Alexander,
Please let me make it clear that this will be my last response to this
merge request. I made my decision based on what I feel is best for the
project. I expect at times my decisions will disappoint but that is not
the goal.
At no point did I ever tell you to throw away any of your code. That
doesn't even sound like something I would say. Regarding pcad2kicad, I
suggested that it be refactored as a plug-in which was accepted in KiCad
so I fail to see any issue there. I also did not tell you to throw away
this merge request. I only suggested that it maintained in a separate
branch. I am not sure how this hurts users as long as your branch is
available to the public. The choice to throw away this code would be yours.
As a lead developer, even I would not have started on a project like
this without consulting the other lead developers at a minimum for
input. The decision to take on this project was yours alone and you
gave no consideration to the fact that it could get rejected.
I looks to me as though your "component manager" is spreadsheet view of
component properties similar to OrCad which is useful. I'm not sure why
you chose to implement it with the OpenOffice SDK and RPC instead of
wxGrid which would have been a better fit for the project. This single
decision alone probably would have made this merge request worth
considering. This most certainly would have been suggest if you would
have let other developers know what your intentions were before you started.
Best Regards,
Wayne
- 4116. By Konstantin Baranovskiy
-
in GOST part was fixed numbering of parts elements (numbers instead of letters) in library viewer and in message's panels;
small fix in GOST_doc_gen. - 4117. By Alexander Lunev
-
temporarily discarded using a floating (independent) window of the component manager because of crashing issues
- 4118. By Alexander Lunev
-
merge with revision 4153 of lp:kicad branch
- 4119. By Alexander Lunev
-
supported OpenOffice/
LibreOffice installations distributed with Python as a bundle in case of Linux OS - 4120. By Alexander Lunev
-
merge with revision 4155 of lp:kicad branch
- 4121. By Alexander Lunev
-
merge with lp:~kicad-gost-committers/kicad/pcad2kicad branch
- 4122. By Alexander Lunev
-
added "eeschema-
>Tools- >Run pcad2kicadsch converter" menu item;
added a link to the KiCad about dialog referencing the Internet forum dedicated to KiCad Russian support, including GOST support - 4123. By Alexander Lunev
-
fixed compilation warnings
- 4124. By Alexander Lunev
-
improved odt file loading diagnostics
- 4125. By Alexander Lunev
-
added optional uno_iface.py logging to a file
- 4126. By Alexander Lunev
-
merge with revision 4157 of lp:kicad branch
- 4127. By Alexander Lunev
-
added Info.plist file for pcad2kicadsch Mac OS support;
copied eeschema/eeschema. icns to extra/pcad2kica dsch/pcad2kicad sch.icns;
copied eeschema/eeschema_ doc.icns to extra/pcad2kica dsch/pcad2kicad sch_doc. icns - 4128. By Alexander Lunev
-
merge with revision 4168 of lp:kicad branch
- 4129. By Alexander Lunev
-
GOST-doc-gen: generating documents in hidden mode to prevent a user from closing office before the document is formed;
added progress dialog - 4130. By Alexander Lunev
-
GOST-doc-gen: supported Company field
- 4131. By Alexander Lunev
-
merge with revision 4171 of lp:kicad branch
- 4132. By Alexander Lunev
-
recovered "eeschema-
>Tools- >Generate Bill of Materials" menu item due to user requests to do this - 4133. By Alexander Lunev
-
GOST-doc-gen: fixed an issue with long strings w/o tokens;
supported parentheses to make line feeds if necessary;
added workaround for eeschema bug (Value field is assigned to Chip Name field by default on the component adding from a library) - 4134. By Alexander Lunev
-
merge with revision 4182 of lp:kicad branch
- 4135. By Alexander Lunev
-
merge with revision 4184 of lp:kicad branch
- 4136. By Alexander Lunev
-
merge with revision 4192 of lp:kicad branch
- 4137. By Alexander Lunev
-
merge with revision 4199 of lp:kicad branch
- 4138. By Alexander Lunev
-
added CK1202_V1.kicad_pcb file as an output reference to test pcad2kicadpcb converter.
The file was converted from the original CK1202_V1.pcb P-Cad pcb file by pcad2kicadpcb - 4139. By Alexander Lunev
-
fixed an issue in s_expr_loader.cpp which resulted in not working of the following features:
1) text fields (graphic elements) of pcad2kicad sch library conversion (supported in rev. 3671 of pcad2kicad branch)
2) stand-alone texts of pcad2kicadpcb (supported in rev. 3658 of pcad2kicad branch)The bug was introduced in rev. 3681 of pcad2kicad branch (applied S-expressions DSNLEXER to load P-Cad ASCII files)
- 4140. By Alexander Lunev
-
supported stand-alone text and lines for pcad2kicad schematic conversion;
updated CK1202_V1.kicad_pcb file corresponding to the previous commit - 4141. By Alexander Lunev
-
fixed compile error in case of wxWidgets version < 2.9.0
- 4142. By Alexander Lunev
-
fixed an issue with scaling added in rev. 3677 of pcad2kicad branch (added scaling metric coordinates to fit inch grid for sch pcad2kicad conversion because kicad schematic does not support metric grid).
The scaling was broken in rev. 3696 of pcad2kicad branch (applied BIU conversion). - 4143. By Alexander Lunev
-
changed build version postfix from GOST to GOST-COMMITTERS meaning that the build is based on lp:~kicad-gost-committers/kicad/kicad branch
- 4144. By Alexander Lunev
-
moved all BOM related stuff ("eeschema-
>Tools- >Generate Bill of Materials" menu item) to eeschema/BOM directory - 4145. By Alexander Lunev
-
merge with revision 4200 of lp:kicad branch
- 4146. By Alexander Lunev
-
merge with revision 4209 of lp:kicad branch
- 4147. By Alexander Lunev
-
started bilingual support in GOST-doc-gen and component manager
- 4148. By Alexander Lunev
-
supported grammar rule for russian letter after soft consonant in the end of a word
- 4149. By Alexander Lunev
-
merge with revision 4212 of lp:kicad branch
- 4150. By Alexander Lunev
-
wrapped all functions of doc_common, doc_component_index and doc_specification c++ modules into classes
- 4151. By Alexander Lunev
-
merge with revision 4145 of lp:~kicad-gost-committers/kicad/GOST-doc-gen-new-templates branch
- 4152. By Alexander Lunev
-
GOST-doc-gen: further adaptation to the new templates in order to fit a text into fields
- 4153. By Alexander Lunev
-
merge with revision 4214 of lp:kicad branch;
recovered sortByValueOnly(), splitRefStr() and engStrToDouble() methods needed by eeschema/BOM/build_ BOM.cpp;
from now on there are two Generate BOM items in the eeschema/Tools menu (both the old and new implementations) - 4154. By Alexander Lunev
-
merge with revision 4215 of lp:kicad branch
- 4155. By Alexander Lunev
-
GOST-doc-gen: fixed an issue with Python 3
- 4156. By Alexander Lunev
-
pcad2kicadpcb: fixed an issue with setting the Reference and Value of a module
- 4157. By Alexander Lunev
-
merge with revision 4217 of lp:kicad branch
- 4158. By Alexander Lunev
-
experimental support for ChipName, Value and Type fields in cvpcb compatible with GOST-doc-gen
- 4159. By Alexander Lunev
-
GOST-doc-gen: supported additional measure units
- 4160. By Alexander Lunev
-
pcad2kicad: added check for file format
- 4161. By Alexander Lunev
-
pcad2kicadsch: added space replacement with underscore in Chip Names;
fixed an issue with stand-alone text of pcad2kicad schematic library conversion - 4162. By Alexander Lunev
-
GOST component manager: implemented unconditional saving Value and Type attributes even if they contain an empty string
- 4163. By Alexander Lunev
-
GOST-doc-gen: supported auto-splitting the string of collumn "Name" printed in the component index document;
centered the text of a group name in the component index document - 4164. By Alexander Lunev
-
merge with revision 4223 of lp:kicad branch
- 4165. By Alexander Lunev
-
GOST-doc-gen: fixed an issue with centering/
underlining printed text - 4166. By Alexander Lunev
-
GOST-doc-gen: supported capacitor values w/o specifying pF unit in them
- 4167. By Alexander Lunev
-
enhanced support for ChipName, Value and Type fields in cvpcb compatible with GOST-doc-gen
- 4168. By Alexander Lunev
-
merge with revision 4231 of lp:kicad branch
- 4169. By Alexander Lunev
-
Component manager: warn once while editing a field of selected components if the components have different parameters
- 4170. By Alexander Lunev
-
GOST-doc-gen: fixed an issue with sorting component values depending on locale
- 4171. By Alexander Lunev
-
GOST component manager: added initial setting Type attribute by the content of Chip Name field if the Type attribute contain an empty string
- 4172. By Alexander Lunev
-
Component manager: corrected NPO to NP0 in Subtype combobox
- 4173. By Alexander Lunev
-
merge with revision 4236 of lp:kicad branch
- 4174. By Alexander Lunev
-
Component manager: added exclusion of subcomponents
- 4175. By Alexander Lunev
-
merge with revision 4237 of lp:kicad branch
- 4176. By Alexander Lunev
-
decoupled Component manager window from EESchema one.
- 4177. By Alexander Lunev
-
implemented autopointing the cursor in both EESchema and Pcbnew according to the selected component in Component manager
- 4178. By Alexander Lunev
-
pcad2kicadsch: supported conversion of attributes
- 4179. By Alexander Lunev
-
merge with revision 4241 of lp:kicad branch
- 4180. By Alexander Lunev
-
merge with revision 4242 of lp:kicad branch
- 4181. By Konstantin Baranovskiy
-
Started porting GOST-doc-gen to the python.
DOC_COMMON::ChangeWordForm (...) and dictionaries was done. - 4182. By Alexander Lunev
-
added kicad_uno_iface log files in case of generation of component index and specification documents based on Multivibrator demo circuit. These log files are for unit testing
- 4183. By Alexander Lunev
-
added USE_PYTHON_
GOSTDOCGEN compilation option;
implemented common ImportPyModule() function;
added importing doc_common.py module to start replacement of GOST-doc-gen c++ implementation with Python one - 4184. By Alexander Lunev
-
corrected setting a field position by Component Manager
- 4185. By Alexander Lunev
-
Component Manager: from now on the processing of Value attribute is transparent;
added component attribute validation on Component Manager opening: if it detects that some components have equal Chip Name and Value attributes then it warns that Value attributes will be copied to Type ones including their position, orientation and visibility. After that Value attributes will be cleared. If some of components do not have Type attribute then such attributes will be created. - 4186. By Alexander Lunev
-
fixed some issues with Component Manager. Some of the issues took place only under Ubuntu 10.04 (wxWidgets 2.8.10)
- 4187. By Alexander Lunev
-
merge with revision 4243 of lp:kicad branch
- 4188. By Alexander Lunev
-
merge with revision 4245 of lp:kicad branch
- 4189. By Alexander Lunev
-
merge with revision 4248 of lp:kicad branch
- 4190. By Alexander Lunev
-
merge with revision 4251 of lp:kicad branch
- 4191. By Alexander Lunev
-
merge with revision 4252 of lp:kicad branch
- 4192. By Alexander Lunev
-
merge with revision 4254 of lp:kicad branch
- 4193. By Alexander Lunev
-
merge with revision 4255 of lp:kicad branch
- 4194. By Alexander Lunev
-
merge with revision 4256 of lp:kicad branch
- 4195. By Alexander Lunev
-
merge with revision 4261 of lp:kicad branch
- 4196. By Alexander Lunev
-
merge with revision 4262 of lp:kicad branch
- 4197. By Alexander Lunev
-
merge with revision 4264 of lp:kicad branch
- 4198. By Alexander Lunev
-
merge with revision 4267 of lp:kicad branch
- 4199. By mmcx
-
fixed an issue with Component Manager hang-up on fast or multiple component selection
- 4200. By Alexander Lunev
-
merge with revision 4268 of lp:kicad branch
- 4201. By Alexander Lunev
-
merge with revision 4272 of lp:kicad branch
- 4202. By Alexander Lunev
-
merge with revision 4276 of lp:kicad branch
- 4203. By Alexander Lunev
-
merge with revision 4279 of lp:kicad branch
- 4204. By Alexander Lunev
-
merge with revision 4282 of lp:kicad branch
- 4205. By Alexander Lunev
-
merge with revision 4283 of lp:kicad branch
- 4206. By Alexander Lunev
-
merge with revision 4285 of lp:kicad branch
- 4207. By Alexander Lunev
-
merge with revision 4293 of lp:kicad branch
- 4208. By Alexander Lunev
-
merge with revision 4294 of lp:kicad branch
- 4209. By Alexander Lunev
-
merge with revision 4309 of lp:kicad branch
- 4210. By Alexander Lunev
-
merge with revision 4311 of lp:kicad branch
- 4211. By Alexander Lunev
-
merge with revision 4312 of lp:kicad branch
- 4212. By Alexander Lunev
-
merge with revision 4313 of lp:kicad branch
- 4213. By Alexander Lunev
-
merge with revision 4316 of lp:kicad branch
- 4214. By Konstantin Baranovskiy
-
Porting GOST-doc-gen to python:
doc_common.cpp
SortStringArray()
ExtractAbsoluteValue( )
done. - 4215. By Andrey Fedorushkov
-
add my commit
- 4216. By Andrey Fedorushkov
-
merge from bzr4357 lp:kicad
- 4217. By Andrey Fedorushkov
-
merge from bzr4357 lp:kicad :: add picad2kicadpcb bzr version control
- 4218. By Andrey Fedorushkov
-
fix pcad2kicadpcb: load function
- 4219. By Andrey Fedorushkov
-
fix build version
- 4220. By Andrey Fedorushkov
-
fix conflicts
- 4221. By Andrey Fedorushkov
-
merge to kicad-testing bzr 4415
- 4222. By Andrey Fedorushkov
-
fix CMakeLists.txt
- 4223. By Andrey Fedorushkov
-
fix build-version
- 4224. By Andrey Fedorushkov
-
merge from bzr4431 kicad-testing
- 4225. By Andrey Fedorushkov
-
merge from bzr4453-testing
- 4226. By Andrey Fedorushkov
-
merge from bzr4476 testing kicad-committers
- 4227. By Andrey Fedorushkov
-
merge from bzr4995 kicad-testing
- 4228. By Andrey Fedorushkov
-
add new template file
- 4229. By Andrey Fedorushkov
-
fix merge from bzr4495 kicad-testing
- 4230. By Andrey Fedorushkov
-
merge from bzr4496 kicad-testing, fix typos in template dir
- 4231. By Andrey Fedorushkov
-
merge from bzr4497 kicad-testing
- 4232. By Andrey Fedorushkov
-
fix error build autoplace.cpp
- 4233. By Andrey Fedorushkov
-
merge from bzr4499 kicad-testing
- 4234. By Andrey Fedorushkov
-
fix parts range
- 4235. By Andrey Fedorushkov
-
merge from bzr4503 kicad-testing
- 4236. By Andrey Fedorushkov
-
merge from bzr4505 kicad-testing
- 4237. By Andrey Fedorushkov
-
merge from bzr4509 kicad-testing
- 4238. By Andrey Fedorushkov
-
merge from bzr4512 kicad-testing
- 4239. By Andrey Fedorushkov
-
merge from bzr4513 kicad-testing, rem internal translate in main CMakeLists.txt
- 4240. By Andrey Fedorushkov
-
merge from bzr4520, pcbnew: libedit - fix create new module
- 4241. By Andrey Fedorushkov
-
add internat
- 4242. By Andrey Fedorushkov
-
fix segfault pcbnew
- 4243. By Andrey Fedorushkov
-
fix bzr rev
- 4244. By Andrey Fedorushkov
-
merge from bzr4558
- 4245. By Andrey Fedorushkov
-
merge from bzr4577
- 4246. By Andrey Fedorushkov
-
merge from bzr4619 kicad-testing
- 4247. By Alexander Lunev
-
added INTERNAT CMake option to prevent "add_subdirectory given source "internat" which is not an existing" error
- 4248. By Alexander Lunev
-
merge with revision 4623 of lp:kicad branch
- 4249. By Alexander Lunev
-
merge with revision 4624 of lp:kicad branch
- 4250. By Alexander Lunev
-
merge with revision 4628 of lp:kicad branch
- 4251. By Alexander Lunev
-
merge with revision 4633 of lp:kicad branch
- 4252. By Alexander Lunev
-
merge with revision 4635 of lp:kicad branch
- 4253. By Alexander Lunev
-
merge with revision 4655 of lp:kicad branch
- 4254. By Alexander Lunev
-
merge with revision 4669 of lp:kicad branch
- 4255. By Alexander Lunev
-
merge with revision 4701 of lp:kicad branch
- 4256. By Alexander Lunev
-
merge with revision 4708 of lp:kicad branch
- 4257. By Alexander Lunev
-
merge with revision 4741 of lp:kicad branch
- 4258. By Alexander Lunev
-
updated CK1202_V1.kicad_pcb file as an output reference to test pcad2kicadpcb converter
- 4259. By Alexander Lunev
-
temporary workaround for static initialization order fiasco
- 4260. By Alexander Lunev
-
merge with revision 4742 of lp:kicad branch
- 4261. By Alexander Lunev
-
merge with revision 4756 of lp:kicad branch
- 4262. By Alexander Lunev
-
merge with revision 4757 of lp:kicad branch
- 4263. By Alexander Lunev
-
KICAD_GOST adaptation to KIWAY
- 4264. By Alexander Lunev
-
added changes missed in my previous commit
- 4265. By Alexander Lunev
-
merge with revision 4809 of lp:kicad branch and further KICAD_GOST adaptation to KIWAY
- 4266. By Alexander Lunev
-
removed temporary workaround for static initialization order fiasco due to the issue fixed in revision 4799 of lp:kicad branch
- 4267. By Alexander Lunev
-
merge with revision 4810 of lp:kicad branch
- 4268. By Alexander Lunev
-
merge with revision 4813 of lp:kicad branch
- 4269. By Alexander Lunev
-
merge with revision 4817 of lp:kicad branch
- 4270. By Alexander Lunev
-
merge with revision 4825 of lp:kicad branch
- 4271. By Alexander Lunev
-
merge with revision 4841 of lp:kicad branch
- 4272. By Alexander Lunev
-
merge with revision 4842 of lp:kicad branch
- 4273. By Alexander Lunev
-
merge with revision 4845 of lp:kicad branch
- 4274. By Alexander Lunev
-
merge with revision 4859 of lp:kicad branch
- 4275. By Alexander Lunev
-
merge with revision 4864 of lp:kicad branch
- 4276. By Alexander Lunev
-
merge with revision 4866 of lp:kicad branch
- 4277. By Alexander Lunev
-
GOST-doc-gen: support for LibreOffice 4.0 - 4.5 on Windows
- 4278. By Alexander Lunev
-
merge with revision 4952 of lp:kicad branch
- 4279. By Alexander Lunev
-
merge with revision 4955 of lp:kicad branch
- 4280. By Alexander Lunev
-
corrected a typo in FindOOInstallat
ionPath( ) (MinGW compilation case) - 4281. By Alexander Lunev
-
fixed bug #1335547: pcad2kicadsch does not start
- 4282. By Alexander Lunev
-
merge with revision 4965 of lp:kicad branch
- 4283. By Alexander Lunev
-
merge with revision 4969 of lp:kicad branch
- 4284. By Alexander Lunev
-
merge with revision 4973 of lp:kicad branch
- 4285. By Alexander Lunev
-
merge with revision 4977 of lp:kicad branch
- 4286. By Alexander Lunev
-
merge with revision 4985 of lp:kicad branch
- 4287. By Alexander Lunev
-
merge with revision 4989 of lp:kicad branch
- 4288. By Alexander Lunev
-
fixed bug #1335435: kicad segment fault when use GOST Tools
- 4289. By Alexander Lunev
-
GOST-doc-gen: added check for unspecified component reference
- 4290. By Alexander Lunev
-
merge with revision 5005 of lp:kicad branch
- 4291. By Alexander Lunev
-
merge with revision 5023 of lp:kicad branch
- 4292. By Alexander Lunev
-
merge with revision 5060 of lp:kicad branch
- 4293. By Alexander Lunev
-
merge with revision 5070 of lp:kicad branch
- 4294. By Konstantin Baranovskiy
-
merge with revision 5113 of lp:kicad branch
- 4295. By Eldar Khayrullin
-
Fix compile error after merging with lp:kicad #5113
- 4296. By Eldar Khayrullin
-
Improvement in generating GOST documents:
* automatical correction of decimal number (adds letter "П" before "Э3" if present, else adds "ПЭ3");
* removing extra information from name of schematic if present ("Схема электрическая..."). - 4297. By Konstantin Baranovskiy
-
Fixed automatic correction of the decimal number. Now does nothing if this field is empty.
- 4298. By Konstantin Baranovskiy
-
For component list to design name appends "Перечень элементов" according to GOST 2.701-2008 page 9 item 5.7.4.
- 4299. By Konstantin Baranovskiy
-
Changed frame of the sheet of the registration the changes from form 2 to 2a (GOST 2.104).
Improved automatic correction of the suffixes of the decimal numbers in specification. - 4300. By Konstantin Baranovskiy
-
Added automatic definition the type of the schematic for specification generation (see GOST 2.701-2008 page 3, table 2).
- 4301. By Konstantin Baranovskiy
-
Corrected filling the designation's (decimal number) field on second and next pages of the specification and the component list documents.
- 4302. By Konstantin Baranovskiy
-
merge with revision 5207 of lp:kicad branch
- 4303. By Konstantin Baranovskiy
-
Fixed compilation without KICAD_GOST option.
- 4304. By Konstantin Baranovskiy
-
merge with revision 5210 of lp:kicad branch
- 4305. By Konstantin Baranovskiy
-
merge with revision 5215 of lp:kicad branch
- 4306. By Konstantin Baranovskiy
-
merge with revision 5223 of lp:kicad branch
- 4307. By Konstantin Baranovskiy
-
merge with revision 5224 of lp:kicad branch
- 4308. By Alexander Lunev
-
merge with revision 4309 of lp:~quasiyoke/kicad/kicad branch
- 4309. By Alexander Lunev
-
merge with revision 5307 of lp:kicad branch
- 4310. By Alexander Lunev
-
recovered BOM_LABEL class which has been removed in lp:kicad branch (it is necessary for eeschema BOM generation in GOST KiCad branch
- 4311. By Alexander Lunev
-
adapted pcad2kicadsch to removed old build configuration since kiway is now the only way to build kicad;
eliminated a warning during pcad2kicadsch compilation - 4312. By Alexander Lunev
-
merge with revision 5319 of lp:kicad branch
- 4313. By Eldar Khayrullin
-
default use GOST part id notation ".1" (see GOST 2.702-75 and GOST 2.710-81)
- 4314. By Eldar Khayrullin
-
default use GOST minimal recomended line width - 0.3 mm (see GOST 2.701-2008 p.5.5) and thickened (see GOST 2.751-73) width for bus - 0.6 mm
- 4315. By Eldar Khayrullin
-
default use minimal recomended GOST text size 2,5 mm (see GOST 2.304-81) and for library editor pin name/num text size 1,8 mm
- 4316. By Eldar Khayrullin
-
on some Linux distrs (e.g. Ubuntu) Kicad GOST Tools not find Office embedded Python. If so, use environment var KIGOSTPYTHON path, otherwise use the system Python. Also fix compile warning
- 4317. By Eldar Khayrullin
-
For plotting used minimal recomended GOST dashed line mark length - 2 mm and space - 1 mm (see GOST 2.303-68). Added plotting dashed lines at SVG format
- 4318. By Eldar Khayrullin
-
Returned deleted code in rev. 4314, 4315. Instead used check KICAD_GOST definition
- 4319. By Eldar Khayrullin
-
Used correction radius (proportional line width) for plotting dashed lines
- 4320. By Eldar Khayrullin
-
Used the separator "-" for group refdes (see published in ИУС №2, 2012 correction to GOST 2.701-2008 ).
Added a transistor in list of component index. Fixed some typos - 4321. By Eldar Khayrullin
-
merge with revision 5444 of lp:kicad branch
- 4322. By Eldar Khayrullin
-
merge with revision 5484 of lp:kicad branch
- 4323. By Eldar Khayrullin
-
Use in eeschema graphic lines with long dashes instead short for getting more better image lines
- 4324. By Eldar Khayrullin
-
merge with revision 5511 of lp:kicad branch
- 4325. By Alexander Lunev
-
merge with revision 5524 of lp:kicad
- 4326. By Eldar Khayrullin
-
merge with revision 5543 of lp:kicad branch
- 4327. By Eldar Khayrullin
-
Fix overlapping Quit hotkey in pcbnew
- 4328. By Alexander Lunev
-
merge with revision 5569 of lp:kicad branch
- 4329. By Alexander Lunev
-
pcad2kicadsch: supported conversion of wires to bus entries
- 4330. By Eldar Khayrullin
-
merge with revision 5573 of lp:kicad branch
- 4331. By Eldar Khayrullin
-
merge with revision 5593 of lp:kicad branch
- 4332. By Eldar Khayrullin
-
merge with revision 5609 of lp:kicad branch
- 4333. By Eldar Khayrullin <email address hidden>
-
merge with revision 5622 of lp:kicad branch
- 4334. By Eldar Khayrullin
-
merge with revision 5635 of lp:kicad branch
- 4335. By Eldar Khayrullin
-
merge with revision 5648 of lp:kicad branch
- 4336. By Eldar Khayrullin
-
merge with revision 5654 of lp:kicad branch
- 4337. By Eldar Khayrullin
-
Fix compile error after merge with branch lp:kicad
- 4338. By Eldar Khayrullin
-
Merge with revision 5678 of lp:kicad branch
- 4339. By Eldar Khayrullin
-
Merge with rev. 5690 of lp:kicad
- 4340. By Eldar Khayrullin
-
Merge with rev. 5717 of lp:kicad
- 4341. By Eldar Khayrullin
-
Merge with lp:kicad(BZR5743)
- 4342. By Eldar Khayrullin
-
Make some strings are to translatable for pcad2kicad utility
- 4343. By Eldar Khayrullin
-
Make some strings are to translatable for GOST tools
- 4344. By Eldar Khayrullin
-
Make translatable GOST-doc-gen messages
- 4345. By Eldar Khayrullin
-
Translate pcad2kicad
- 4346. By Eldar Khayrullin
-
Merge with lp:kicad (BZR5795)
Unmerged revisions
- 4496. By Eldar Khayrullin
-
PCAD to sch use for metric grid convenient conversion: 0.25mm to 0.254mm
- 4495. By Eldar Khayrullin
-
pcad2kicadsch: merge import font properties from master branch
- 4494. By Eldar Khayrullin
-
pcad2kicadsch: import IEEE symbols
- 4493. By Eldar Khayrullin
-
pcad2kicadsch: replace slashes to '_' in symbols and footprint names
- 4492. By Eldar Khayrullin
-
pcad2kicadsch: use fp-lib-table (Note: Archive Footprints from imported pcb to {prj_name}.pretty)
- 4491. By Eldar Khayrullin
-
pcad2kicadsch: use new sym-lib-table
- 4490. By Eldar Khayrullin
-
pcad2kicadsch: fix not connected Wire Labels
- 4489. By Eldar Khayrullin
-
pcad2kicadsch: set Footprint field in library
- 4488. By Eldar Khayrullin
-
pcad2kicadsch: set Footprint field in sch symbols
- 4487. By Eldar Khayrullin
-
pcad2kicadsch: individual for each pin a visibility name/number
Preview Diff
1 | === modified file '.bzrignore' | |||
2 | --- .bzrignore 2015-04-30 08:46:03 +0000 | |||
3 | +++ .bzrignore 2015-06-20 07:42:20 +0000 | |||
4 | @@ -48,3 +48,4 @@ | |||
5 | 48 | bitmaps_png/tmp | 48 | bitmaps_png/tmp |
6 | 49 | common/pcb_keywords.cpp | 49 | common/pcb_keywords.cpp |
7 | 50 | include/pcb_lexer.h | 50 | include/pcb_lexer.h |
8 | 51 | include/openoffice | ||
9 | 51 | 52 | ||
10 | === modified file 'CMakeLists.txt' | |||
11 | --- CMakeLists.txt 2015-06-11 20:42:48 +0000 | |||
12 | +++ CMakeLists.txt 2015-06-20 07:42:20 +0000 | |||
13 | @@ -23,6 +23,20 @@ | |||
14 | 23 | # reports. | 23 | # reports. |
15 | 24 | # | 24 | # |
16 | 25 | 25 | ||
17 | 26 | # Russian GOST patch | ||
18 | 27 | option( wxUSE_UNICODE "enable/disable building unicode (default OFF)" ) | ||
19 | 28 | option( KICAD_GOST "enable/disable building using GOST notation for multiple gates per package (default OFF)" ) | ||
20 | 29 | option( USE_INTERNAT "this option needs to be clarified (default OFF)" ) | ||
21 | 30 | option( USE_RPC_DOC_SERVER "enable/disable building GOST document generator using RPC document server (default ON)" ON ) | ||
22 | 31 | option( USE_OPENOFFICE_SDK "enable/disable building GOST document generator with use of OpenOffice/LibreOffice SDK (default OFF)" ) | ||
23 | 32 | option( USE_PYTHON_GOSTDOCGEN "enable/disable building Python based GOST document generator (default OFF)" ) | ||
24 | 33 | # USE_RPC_DOC_SERVER and USE_OPENOFFICE_SDK are suboptions of KICAD_GOST option. | ||
25 | 34 | # These suboptions select an approach how to interact with OpenOffice / LibreOffice. | ||
26 | 35 | # It is recommended to set the suboptions as follows: USE_RPC_DOC_SERVER=ON and USE_OPENOFFICE_SDK=OFF. | ||
27 | 36 | # Other suboption combinations suffer from building and incompatibility issues. They are kept as spare approaches. | ||
28 | 37 | |||
29 | 38 | option( USE_PCAD2KICAD "PCad to Kicad converter (default ON). Warning, this is experimental" ON ) | ||
30 | 39 | |||
31 | 26 | # The desire is to migrate designs *away from* case independence, and to create designs which use | 40 | # The desire is to migrate designs *away from* case independence, and to create designs which use |
32 | 27 | # literally (case specific) interpreted component names. But for backwards compatibility, | 41 | # literally (case specific) interpreted component names. But for backwards compatibility, |
33 | 28 | # you may turn OFF this option if you really must. (Remember that with KiCad using text | 42 | # you may turn OFF this option if you really must. (Remember that with KiCad using text |
34 | @@ -270,6 +284,26 @@ | |||
35 | 270 | 284 | ||
36 | 271 | endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) | 285 | endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) |
37 | 272 | 286 | ||
38 | 287 | if( wxUSE_UNICODE ) | ||
39 | 288 | add_definitions( -DwxUSE_UNICODE ) | ||
40 | 289 | endif() | ||
41 | 290 | |||
42 | 291 | if( KICAD_GOST ) | ||
43 | 292 | add_definitions( -DKICAD_GOST ) | ||
44 | 293 | endif() | ||
45 | 294 | |||
46 | 295 | if( USE_RPC_DOC_SERVER ) | ||
47 | 296 | add_definitions( -DUSE_RPC_DOC_SERVER ) | ||
48 | 297 | endif() | ||
49 | 298 | |||
50 | 299 | if( USE_OPENOFFICE_SDK ) | ||
51 | 300 | add_definitions( -DUSE_OPENOFFICE_SDK ) | ||
52 | 301 | endif() | ||
53 | 302 | |||
54 | 303 | if(USE_PCAD2KICAD) | ||
55 | 304 | add_definitions(-DUSE_PCAD2KICAD) | ||
56 | 305 | endif(USE_PCAD2KICAD) | ||
57 | 306 | |||
58 | 273 | if( KICAD_KEEPCASE ) | 307 | if( KICAD_KEEPCASE ) |
59 | 274 | add_definitions( -DKICAD_KEEPCASE ) | 308 | add_definitions( -DKICAD_KEEPCASE ) |
60 | 275 | endif() | 309 | endif() |
61 | @@ -398,6 +432,7 @@ | |||
62 | 398 | KICAD_PLUGINS | 432 | KICAD_PLUGINS |
63 | 399 | KICAD_DATA | 433 | KICAD_DATA |
64 | 400 | KICAD_DOCS | 434 | KICAD_DOCS |
65 | 435 | KICAD_INTERNAT | ||
66 | 401 | KICAD_DEMOS | 436 | KICAD_DEMOS |
67 | 402 | KICAD_TEMPLATE ) | 437 | KICAD_TEMPLATE ) |
68 | 403 | 438 | ||
69 | @@ -596,7 +631,8 @@ | |||
70 | 596 | 631 | ||
71 | 597 | 632 | ||
72 | 598 | # Find Python and other scripting resources | 633 | # Find Python and other scripting resources |
74 | 599 | if( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES ) | 634 | if( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES OR USE_PYTHON_GOSTDOCGEN OR |
75 | 635 | ( KICAD_GOST AND NOT USE_RPC_DOC_SERVER AND NOT USE_OPENOFFICE_SDK ) ) | ||
76 | 600 | # force a python version < 3.0 | 636 | # force a python version < 3.0 |
77 | 601 | set( PythonInterp_FIND_VERSION 2.6 ) | 637 | set( PythonInterp_FIND_VERSION 2.6 ) |
78 | 602 | set( PythonLibs_FIND_VERSION 2.6 ) | 638 | set( PythonLibs_FIND_VERSION 2.6 ) |
79 | @@ -746,6 +782,9 @@ | |||
80 | 746 | 782 | ||
81 | 747 | #add_subdirectory( new ) | 783 | #add_subdirectory( new ) |
82 | 748 | 784 | ||
83 | 785 | if( KICAD_GOST ) | ||
84 | 786 | add_subdirectory( extra/pcad2kicadsch ) | ||
85 | 787 | endif( KICAD_GOST ) | ||
86 | 749 | 788 | ||
87 | 750 | # Make all libs and executables depend on ExternalProject_Add( boost ), | 789 | # Make all libs and executables depend on ExternalProject_Add( boost ), |
88 | 751 | # except perhaps bitmap lib. This allows a multi-threaded build to succeed. | 790 | # except perhaps bitmap lib. This allows a multi-threaded build to succeed. |
89 | @@ -781,6 +820,10 @@ | |||
90 | 781 | ############# | 820 | ############# |
91 | 782 | # Resources # | 821 | # Resources # |
92 | 783 | ############# | 822 | ############# |
93 | 823 | if( USE_INTERNAT ) | ||
94 | 824 | add_subdirectory( internat ) | ||
95 | 825 | endif( USE_INTERNAT ) | ||
96 | 826 | |||
97 | 784 | add_subdirectory( demos ) | 827 | add_subdirectory( demos ) |
98 | 785 | add_subdirectory( template ) | 828 | add_subdirectory( template ) |
99 | 786 | 829 | ||
100 | 787 | 830 | ||
101 | === modified file 'CMakeModules/CreateBzrVersionHeader.cmake' | |||
102 | --- CMakeModules/CreateBzrVersionHeader.cmake 2013-12-28 11:29:20 +0000 | |||
103 | +++ CMakeModules/CreateBzrVersionHeader.cmake 2015-06-20 07:42:20 +0000 | |||
104 | @@ -63,7 +63,11 @@ | |||
105 | 63 | if( Kicad_REPO_LAST_CHANGED_DATE ) | 63 | if( Kicad_REPO_LAST_CHANGED_DATE ) |
106 | 64 | string( REGEX REPLACE "^([0-9]+)\\-([0-9]+)\\-([0-9]+)" "\\1-\\2-\\3" | 64 | string( REGEX REPLACE "^([0-9]+)\\-([0-9]+)\\-([0-9]+)" "\\1-\\2-\\3" |
107 | 65 | _kicad_bzr_date ${Kicad_REPO_LAST_CHANGED_DATE} ) | 65 | _kicad_bzr_date ${Kicad_REPO_LAST_CHANGED_DATE} ) |
109 | 66 | set( KICAD_BUILD_VERSION "(${_kicad_bzr_date} BZR ${Kicad_REPO_REVISION})" ) | 66 | if( KICAD_GOST ) |
110 | 67 | set( KICAD_BUILD_VERSION "(${_kicad_bzr_date} BZR ${Kicad_REPO_REVISION} GOST-COMMITTERS)" ) | ||
111 | 68 | else( KICAD_GOST ) | ||
112 | 69 | set( KICAD_BUILD_VERSION "(${_kicad_bzr_date} BZR ${Kicad_REPO_REVISION})" ) | ||
113 | 70 | endif( KICAD_GOST ) | ||
114 | 67 | 71 | ||
115 | 68 | # Definition to conditionally use date and revision returned from the | 72 | # Definition to conditionally use date and revision returned from the |
116 | 69 | # Bazaar log command instead of hand coded date and revision in | 73 | # Bazaar log command instead of hand coded date and revision in |
117 | 70 | 74 | ||
118 | === added file 'CMakeModules/FindOpenOffice.cmake' | |||
119 | --- CMakeModules/FindOpenOffice.cmake 1970-01-01 00:00:00 +0000 | |||
120 | +++ CMakeModules/FindOpenOffice.cmake 2015-06-20 07:42:20 +0000 | |||
121 | @@ -0,0 +1,192 @@ | |||
122 | 1 | # - Try to find OpenOffice.org SDK, installed from repositories or from "vanilla" distribution | ||
123 | 2 | # Once done this will define | ||
124 | 3 | # | ||
125 | 4 | # OpenOffice_FOUND - System has OpenOffice.org with SDK | ||
126 | 5 | # OpenOffice_VERSION - Version of OpenOffice.org with SDK | ||
127 | 6 | # OOO_PREFIX - Prefix of OpenOffice.org installation | ||
128 | 7 | # OOO_BASIS_DIR - "basis" directory of OpenOffice.org | ||
129 | 8 | # OOO_PROGRAM_DIR - "program" directory of OpenOffice.org | ||
130 | 9 | # OOO_URE_DIR - "ure" directory of OpenOffice.org | ||
131 | 10 | # OOO_SDK_DIR - "sdk" directory of OpenOffice.org | ||
132 | 11 | # OOO_INCLUDE_DIR - include directory of OpenOffice.org | ||
133 | 12 | # UNOPKG_EXECUTABLE - Absolute path of unopkg tool | ||
134 | 13 | # | ||
135 | 14 | # Copyright (c) 2010 Konstantin Tokarev <annulen@gmail.com> | ||
136 | 15 | # Copyright (c) 2013 Alexander Lunev <al.lunev@yahoo.com> | ||
137 | 16 | # | ||
138 | 17 | # Redistribution and use is allowed according to the terms of the New | ||
139 | 18 | # BSD license. | ||
140 | 19 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. | ||
141 | 20 | |||
142 | 21 | # TODO: Find Go-oo from Novell | ||
143 | 22 | |||
144 | 23 | unset(OOO_PREFIX CACHE) | ||
145 | 24 | unset(OOO_BASIS_DIR CACHE) | ||
146 | 25 | unset(OOO_SDK_DIR CACHE) | ||
147 | 26 | unset(OOO_PROGRAM_DIR CACHE) | ||
148 | 27 | unset(UNOPKG_EXECUTABLE CACHE) | ||
149 | 28 | unset(OOO_URE_DIR CACHE) | ||
150 | 29 | unset(OOO_INCLUDE_DIR CACHE) | ||
151 | 30 | |||
152 | 31 | if(UNIX) | ||
153 | 32 | set(OOO_PATH_HINTS | ||
154 | 33 | /usr/lib/openoffice/* | ||
155 | 34 | /usr/lib/ooo/* | ||
156 | 35 | /usr/lib64/openoffice/* | ||
157 | 36 | /usr/lib64/ooo/* | ||
158 | 37 | /usr/local/openoffice/* | ||
159 | 38 | /opt/openoffice.org3/* | ||
160 | 39 | /opt/ooo-dev3/* | ||
161 | 40 | /usr/lib/libreoffice | ||
162 | 41 | /usr/lib64/libreoffice | ||
163 | 42 | ) | ||
164 | 43 | elseif(WIN32) | ||
165 | 44 | set(OOO_PATH_HINTS | ||
166 | 45 | "C:\\Program Files (x86)\\OpenOffice.org 3" | ||
167 | 46 | "C:\\Program Files\\OpenOffice.org 3" | ||
168 | 47 | "C:\\Program Files (x86)\\LibreOffice*" | ||
169 | 48 | "C:\\Program Files\\LibreOffice*" | ||
170 | 49 | ) | ||
171 | 50 | |||
172 | 51 | set(OOO_SDK_PATH_HINTS | ||
173 | 52 | "C:\\Program Files\\OpenOffice*SDK\\sdk" | ||
174 | 53 | "C:\\Program Files (x86)\\OpenOffice*SDK\\sdk" | ||
175 | 54 | "C:\\Program Files\\OpenOffice.org 3\\Basis\\sdk" | ||
176 | 55 | "C:\\Program Files (x86)\\OpenOffice.org 3\\Basis\\sdk" | ||
177 | 56 | "C:\\Program Files\\LibreOffice*SDK\\sdk" | ||
178 | 57 | "C:\\Program Files (x86)\\LibreOffice*SDK\\sdk" | ||
179 | 58 | ) | ||
180 | 59 | |||
181 | 60 | set(EXE_EXT ".exe") | ||
182 | 61 | endif(UNIX) | ||
183 | 62 | |||
184 | 63 | if(OOO_PREFIX) | ||
185 | 64 | set(OOO_PATH_HINTS | ||
186 | 65 | "${OOO_PREFIX}/*" | ||
187 | 66 | ${OOO_PATH_HINTS} | ||
188 | 67 | ) | ||
189 | 68 | endif(OOO_PREFIX) | ||
190 | 69 | |||
191 | 70 | if(WIN32) | ||
192 | 71 | find_path(OOO_BASIS_DIR | ||
193 | 72 | NAMES | ||
194 | 73 | Basis/program/offapi.rdb | ||
195 | 74 | HINTS | ||
196 | 75 | ${OOO_PATH_HINTS} | ||
197 | 76 | ) | ||
198 | 77 | else(WIN32) | ||
199 | 78 | find_path(OOO_BASIS_DIR | ||
200 | 79 | NAMES | ||
201 | 80 | sdk/bin/idlc | ||
202 | 81 | HINTS | ||
203 | 82 | ${OOO_PATH_HINTS} | ||
204 | 83 | ) | ||
205 | 84 | endif(WIN32) | ||
206 | 85 | mark_as_advanced(OOO_BASIS_DIR) | ||
207 | 86 | |||
208 | 87 | if(NOT OOO_BASIS_DIR) | ||
209 | 88 | if(OpenOffice_FIND_REQUIRED) | ||
210 | 89 | message(FATAL_ERROR "Could not find OpenOffice.org SDK") | ||
211 | 90 | endif(OpenOffice_FIND_REQUIRED) | ||
212 | 91 | else(NOT OOO_BASIS_DIR) | ||
213 | 92 | set(OOO_PREFIX "${OOO_BASIS_DIR}" CACHE STRING "OpenOffice.org root directory") | ||
214 | 93 | |||
215 | 94 | if(WIN32) | ||
216 | 95 | find_path(OOO_SDK_DIR | ||
217 | 96 | NAMES | ||
218 | 97 | bin/idlc.exe | ||
219 | 98 | HINTS | ||
220 | 99 | ${OOO_SDK_PATH_HINTS} | ||
221 | 100 | ) | ||
222 | 101 | mark_as_advanced(OOO_SDK_DIR) | ||
223 | 102 | else(WIN32) | ||
224 | 103 | set(OOO_SDK_DIR "${OOO_BASIS_DIR}/sdk" CACHE STRING "OpenOffice.org SDK root directory") | ||
225 | 104 | endif(WIN32) | ||
226 | 105 | |||
227 | 106 | message(STATUS "Found OpenOffice.org SDK: ${OOO_SDK_DIR}") | ||
228 | 107 | endif(NOT OOO_BASIS_DIR) | ||
229 | 108 | |||
230 | 109 | find_path(OOO_PROGRAM_DIR | ||
231 | 110 | NAMES | ||
232 | 111 | soffice${EXE_EXT} | ||
233 | 112 | HINTS | ||
234 | 113 | "${OOO_PREFIX}/program" | ||
235 | 114 | "${OOO_PREFIX}/../program" | ||
236 | 115 | ) | ||
237 | 116 | mark_as_advanced(OOO_PROGRAM_DIR) | ||
238 | 117 | |||
239 | 118 | if(NOT OOO_PROGRAM_DIR) | ||
240 | 119 | if(OpenOffice_FIND_REQUIRED) | ||
241 | 120 | message(FATAL_ERROR "Could not find OpenOffice.org program directory") | ||
242 | 121 | endif(OpenOffice_FIND_REQUIRED) | ||
243 | 122 | else(NOT OOO_PROGRAM_DIR) | ||
244 | 123 | message(STATUS "Found OpenOffice.org program directory: ${OOO_PROGRAM_DIR}") | ||
245 | 124 | endif(NOT OOO_PROGRAM_DIR) | ||
246 | 125 | |||
247 | 126 | find_file(UNOPKG_EXECUTABLE | ||
248 | 127 | NAMES | ||
249 | 128 | unopkg${EXE_EXT} | ||
250 | 129 | HINTS | ||
251 | 130 | "${OOO_PREFIX}/program" | ||
252 | 131 | "${OOO_PREFIX}/../program" | ||
253 | 132 | NO_DEFAULT_PATH | ||
254 | 133 | ) | ||
255 | 134 | mark_as_advanced(UNOPKG_EXECUTABLE) | ||
256 | 135 | |||
257 | 136 | if(NOT UNOPKG_EXECUTABLE) | ||
258 | 137 | if(OpenOffice_FIND_REQUIRED) | ||
259 | 138 | message(FATAL_ERROR "Could not find unopkg executable") | ||
260 | 139 | endif(OpenOffice_FIND_REQUIRED) | ||
261 | 140 | else(NOT UNOPKG_EXECUTABLE) | ||
262 | 141 | message(STATUS "Found unopkg executable: ${UNOPKG_EXECUTABLE}") | ||
263 | 142 | endif(NOT UNOPKG_EXECUTABLE) | ||
264 | 143 | |||
265 | 144 | |||
266 | 145 | find_path(OOO_URE_DIR | ||
267 | 146 | NAMES | ||
268 | 147 | share/java/java_uno.jar | ||
269 | 148 | java/java_uno.jar | ||
270 | 149 | HINTS | ||
271 | 150 | "${OOO_BASIS_DIR}/*" | ||
272 | 151 | ) | ||
273 | 152 | mark_as_advanced(OOO_URE_DIR) | ||
274 | 153 | |||
275 | 154 | if(NOT OOO_URE_DIR) | ||
276 | 155 | if(OpenOffice_FIND_REQUIRED) | ||
277 | 156 | message(FATAL_ERROR "Could not find OpenOffice ure directory") | ||
278 | 157 | endif(OpenOffice_FIND_REQUIRED) | ||
279 | 158 | else(NOT OOO_URE_DIR) | ||
280 | 159 | set(OOO_URE_JAVA_DIR "${OOO_URE_DIR}/share/java") | ||
281 | 160 | message(STATUS "Found URE Java path: ${OOO_URE_JAVA_DIR}") | ||
282 | 161 | endif(NOT OOO_URE_DIR) | ||
283 | 162 | |||
284 | 163 | find_path(OOO_INCLUDE_DIR | ||
285 | 164 | NAMES | ||
286 | 165 | com/sun/star/uno/Any.h | ||
287 | 166 | HINTS | ||
288 | 167 | "${OOO_SDK_DIR}/include" | ||
289 | 168 | /usr/include/openoffice | ||
290 | 169 | ) | ||
291 | 170 | mark_as_advanced(OOO_INCLUDE_DIR) | ||
292 | 171 | |||
293 | 172 | if(NOT OOO_INCLUDE_DIR) | ||
294 | 173 | if(OpenOffice_FIND_REQUIRED) | ||
295 | 174 | message(FATAL_ERROR "Could not find OpenOffice.org SDK include directory") | ||
296 | 175 | endif(OpenOffice_FIND_REQUIRED) | ||
297 | 176 | else(NOT OOO_INCLUDE_DIR) | ||
298 | 177 | message(STATUS "Found OpenOffice.org SDK include directory: ${OOO_INCLUDE_DIR}") | ||
299 | 178 | endif(NOT OOO_INCLUDE_DIR) | ||
300 | 179 | |||
301 | 180 | if(OOO_PROGRAM_DIR AND OOO_SDK_DIR AND OOO_URE_DIR AND UNOPKG_EXECUTABLE AND OOO_INCLUDE_DIR) | ||
302 | 181 | set(OpenOffice_FOUND 1) | ||
303 | 182 | |||
304 | 183 | if(WIN32) | ||
305 | 184 | file(READ "${OOO_PROGRAM_DIR}/version.ini" _VERSION_RC_CONTENTS) | ||
306 | 185 | else(WIN32) | ||
307 | 186 | file(READ "${OOO_PROGRAM_DIR}/versionrc" _VERSION_RC_CONTENTS) | ||
308 | 187 | endif(WIN32) | ||
309 | 188 | |||
310 | 189 | string(REGEX REPLACE ".*ProductMajor=([0-9]+).*" "\\1" OpenOffice_VERSION "${_VERSION_RC_CONTENTS}") | ||
311 | 190 | else(OOO_PROGRAM_DIR AND OOO_SDK_DIR AND OOO_URE_DIR AND UNOPKG_EXECUTABLE AND OOO_INCLUDE_DIR) | ||
312 | 191 | set(OpenOffice_FOUND 0) | ||
313 | 192 | endif(OOO_PROGRAM_DIR AND OOO_SDK_DIR AND OOO_URE_DIR AND UNOPKG_EXECUTABLE AND OOO_INCLUDE_DIR) | ||
314 | 0 | 193 | ||
315 | === modified file 'common/build_version.cpp' | |||
316 | --- common/build_version.cpp 2015-05-26 06:18:50 +0000 | |||
317 | +++ common/build_version.cpp 2015-06-20 07:42:20 +0000 | |||
318 | @@ -30,8 +30,12 @@ | |||
319 | 30 | #endif | 30 | #endif |
320 | 31 | 31 | ||
321 | 32 | #ifndef KICAD_BUILD_VERSION | 32 | #ifndef KICAD_BUILD_VERSION |
322 | 33 | #if defined KICAD_GOST | ||
323 | 34 | # define KICAD_BUILD_VERSION "(after 2015-may-25 BZR ???? GOST (bzr????-testing))" | ||
324 | 35 | #else | ||
325 | 33 | # define KICAD_BUILD_VERSION "(after 2015-may-25 BZR unknown)" | 36 | # define KICAD_BUILD_VERSION "(after 2015-may-25 BZR unknown)" |
326 | 34 | #endif | 37 | #endif |
327 | 38 | #endif | ||
328 | 35 | 39 | ||
329 | 36 | /** | 40 | /** |
330 | 37 | * Function GetBuildVersion | 41 | * Function GetBuildVersion |
331 | 38 | 42 | ||
332 | === modified file 'common/class_plotter.cpp' | |||
333 | --- common/class_plotter.cpp 2015-03-10 20:00:50 +0000 | |||
334 | +++ common/class_plotter.cpp 2015-06-20 07:42:20 +0000 | |||
335 | @@ -63,8 +63,13 @@ | |||
336 | 63 | // Temporary init to avoid not initialized vars, will be set later | 63 | // Temporary init to avoid not initialized vars, will be set later |
337 | 64 | m_IUsPerDecimil = 1; // will be set later to the actual value | 64 | m_IUsPerDecimil = 1; // will be set later to the actual value |
338 | 65 | iuPerDeviceUnit = 1; // will be set later to the actual value | 65 | iuPerDeviceUnit = 1; // will be set later to the actual value |
339 | 66 | #if defined(KICAD_GOST) | ||
340 | 67 | m_dashMarkLength_mm = 2.0; // Dashed line parameter in mm: segment | ||
341 | 68 | m_dashGapLength_mm = 1.0; // Dashed line parameter in mm: gap | ||
342 | 69 | #else | ||
343 | 66 | m_dashMarkLength_mm = 0.5; // Dashed line parameter in mm: segment | 70 | m_dashMarkLength_mm = 0.5; // Dashed line parameter in mm: segment |
344 | 67 | m_dashGapLength_mm = 0.25; // Dashed line parameter in mm: gap | 71 | m_dashGapLength_mm = 0.25; // Dashed line parameter in mm: gap |
345 | 72 | #endif | ||
346 | 68 | } | 73 | } |
347 | 69 | 74 | ||
348 | 70 | PLOTTER::~PLOTTER() | 75 | PLOTTER::~PLOTTER() |
349 | 71 | 76 | ||
350 | === modified file 'common/dialog_about/AboutDialog_main.cpp' | |||
351 | --- common/dialog_about/AboutDialog_main.cpp 2015-05-11 16:25:33 +0000 | |||
352 | +++ common/dialog_about/AboutDialog_main.cpp 2015-06-20 07:42:20 +0000 | |||
353 | @@ -155,6 +155,9 @@ | |||
354 | 155 | description << wxT( "<li>" ) << | 155 | description << wxT( "<li>" ) << |
355 | 156 | HtmlHyperlink( wxT( "http://www.kicadlib.org" ), | 156 | HtmlHyperlink( wxT( "http://www.kicadlib.org" ), |
356 | 157 | _( "Repository with additional component libraries" ) ) << wxT( "</li>" ); | 157 | _( "Repository with additional component libraries" ) ) << wxT( "</li>" ); |
357 | 158 | description << wxT( "<li>" ) << | ||
358 | 159 | HtmlHyperlink( wxT( "http://electronix.ru/forum/index.php?showforum=210" ), | ||
359 | 160 | _( "The Internet forum dedicated to KiCad Russian support, including GOST support" ) ) << wxT( "</li>" ); | ||
360 | 158 | description << wxT( "</ul>" ); | 161 | description << wxT( "</ul>" ); |
361 | 159 | 162 | ||
362 | 160 | description << wxT( "</p>" ); | 163 | description << wxT( "</p>" ); |
363 | 161 | 164 | ||
364 | === modified file 'common/gr_basic.cpp' | |||
365 | --- common/gr_basic.cpp 2015-03-25 17:27:17 +0000 | |||
366 | +++ common/gr_basic.cpp 2015-06-20 07:42:20 +0000 | |||
367 | @@ -384,7 +384,11 @@ | |||
368 | 384 | void GRDashedLineTo( EDA_RECT* ClipBox, wxDC* DC, int x2, int y2, int width, EDA_COLOR_T Color ) | 384 | void GRDashedLineTo( EDA_RECT* ClipBox, wxDC* DC, int x2, int y2, int width, EDA_COLOR_T Color ) |
369 | 385 | { | 385 | { |
370 | 386 | s_DC_lastcolor = UNSPECIFIED_COLOR; | 386 | s_DC_lastcolor = UNSPECIFIED_COLOR; |
371 | 387 | #if defined(KICAD_GOST) | ||
372 | 388 | GRSetColorPen( DC, Color, width, wxPENSTYLE_LONG_DASH ); | ||
373 | 389 | #else | ||
374 | 387 | GRSetColorPen( DC, Color, width, wxPENSTYLE_SHORT_DASH ); | 390 | GRSetColorPen( DC, Color, width, wxPENSTYLE_SHORT_DASH ); |
375 | 391 | #endif | ||
376 | 388 | WinClipAndDrawLine( ClipBox, DC, GRLastMoveToX, GRLastMoveToY, x2, y2, width ); | 392 | WinClipAndDrawLine( ClipBox, DC, GRLastMoveToX, GRLastMoveToY, x2, y2, width ); |
377 | 389 | s_DC_lastcolor = UNSPECIFIED_COLOR; | 393 | s_DC_lastcolor = UNSPECIFIED_COLOR; |
378 | 390 | GRSetColorPen( DC, Color, width ); | 394 | GRSetColorPen( DC, Color, width ); |
379 | @@ -405,7 +409,11 @@ | |||
380 | 405 | GRLastMoveToX = x2; | 409 | GRLastMoveToX = x2; |
381 | 406 | GRLastMoveToY = y2; | 410 | GRLastMoveToY = y2; |
382 | 407 | s_DC_lastcolor = UNSPECIFIED_COLOR; | 411 | s_DC_lastcolor = UNSPECIFIED_COLOR; |
383 | 412 | #if defined(KICAD_GOST) | ||
384 | 413 | GRSetColorPen( DC, Color, width, wxPENSTYLE_LONG_DASH ); | ||
385 | 414 | #else | ||
386 | 408 | GRSetColorPen( DC, Color, width, wxPENSTYLE_SHORT_DASH ); | 415 | GRSetColorPen( DC, Color, width, wxPENSTYLE_SHORT_DASH ); |
387 | 416 | #endif | ||
388 | 409 | WinClipAndDrawLine( ClipBox, DC, x1, y1, x2, y2, width ); | 417 | WinClipAndDrawLine( ClipBox, DC, x1, y1, x2, y2, width ); |
389 | 410 | s_DC_lastcolor = UNSPECIFIED_COLOR; | 418 | s_DC_lastcolor = UNSPECIFIED_COLOR; |
390 | 411 | GRSetColorPen( DC, Color, width ); | 419 | GRSetColorPen( DC, Color, width ); |
391 | 412 | 420 | ||
392 | === modified file 'common/kiway.cpp' | |||
393 | --- common/kiway.cpp 2015-03-26 17:27:13 +0000 | |||
394 | +++ common/kiway.cpp 2015-06-20 07:42:20 +0000 | |||
395 | @@ -105,6 +105,9 @@ | |||
396 | 105 | case FACE_CVPCB: name = KIFACE_PREFIX wxT( "cvpcb" ); break; | 105 | case FACE_CVPCB: name = KIFACE_PREFIX wxT( "cvpcb" ); break; |
397 | 106 | case FACE_GERBVIEW: name = KIFACE_PREFIX wxT( "gerbview" ); break; | 106 | case FACE_GERBVIEW: name = KIFACE_PREFIX wxT( "gerbview" ); break; |
398 | 107 | case FACE_PL_EDITOR: name = KIFACE_PREFIX wxT( "pl_editor" ); break; | 107 | case FACE_PL_EDITOR: name = KIFACE_PREFIX wxT( "pl_editor" ); break; |
399 | 108 | #if defined( KICAD_GOST ) | ||
400 | 109 | case FACE_PCAD2KICADSCH: name = KIFACE_PREFIX wxT( "pcad2kicadsch" ); break; | ||
401 | 110 | #endif | ||
402 | 108 | case FACE_PCB_CALCULATOR: name = KIFACE_PREFIX wxT( "pcb_calculator" ); break; | 111 | case FACE_PCB_CALCULATOR: name = KIFACE_PREFIX wxT( "pcb_calculator" ); break; |
403 | 109 | case FACE_BMP2CMP: name = KIFACE_PREFIX wxT( "bitmap2component" ); break; | 112 | case FACE_BMP2CMP: name = KIFACE_PREFIX wxT( "bitmap2component" ); break; |
404 | 110 | 113 | ||
405 | @@ -257,6 +260,11 @@ | |||
406 | 257 | case FRAME_PL_EDITOR: | 260 | case FRAME_PL_EDITOR: |
407 | 258 | return FACE_PL_EDITOR; | 261 | return FACE_PL_EDITOR; |
408 | 259 | 262 | ||
409 | 263 | #if defined( KICAD_GOST ) | ||
410 | 264 | case FRAME_PCAD2KICADSCH: | ||
411 | 265 | return FACE_PCAD2KICADSCH; | ||
412 | 266 | #endif | ||
413 | 267 | |||
414 | 260 | case FRAME_CALC: | 268 | case FRAME_CALC: |
415 | 261 | return FACE_PCB_CALCULATOR; | 269 | return FACE_PCB_CALCULATOR; |
416 | 262 | 270 | ||
417 | 263 | 271 | ||
418 | === modified file 'cvpcb/cvframe.cpp' | |||
419 | --- cvpcb/cvframe.cpp 2015-06-07 18:18:45 +0000 | |||
420 | +++ cvpcb/cvframe.cpp 2015-06-20 07:42:20 +0000 | |||
421 | @@ -835,10 +835,18 @@ | |||
422 | 835 | { | 835 | { |
423 | 836 | component = m_netlist.GetComponent( i ); | 836 | component = m_netlist.GetComponent( i ); |
424 | 837 | 837 | ||
425 | 838 | #if defined(KICAD_GOST) | ||
426 | 839 | msg.Printf( CMP_FORMAT, m_compListBox->GetCount() + 1, | ||
427 | 840 | GetChars( component->GetReference() ), | ||
428 | 841 | GetChars( FormFullString( component ) ), | ||
429 | 842 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); | ||
430 | 843 | #else | ||
431 | 838 | msg.Printf( CMP_FORMAT, m_compListBox->GetCount() + 1, | 844 | msg.Printf( CMP_FORMAT, m_compListBox->GetCount() + 1, |
432 | 839 | GetChars( component->GetReference() ), | 845 | GetChars( component->GetReference() ), |
433 | 840 | GetChars( component->GetValue() ), | 846 | GetChars( component->GetValue() ), |
434 | 841 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); | 847 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); |
435 | 848 | #endif | ||
436 | 849 | |||
437 | 842 | m_compListBox->m_ComponentList.Add( msg ); | 850 | m_compListBox->m_ComponentList.Add( msg ); |
438 | 843 | } | 851 | } |
439 | 844 | 852 | ||
440 | 845 | 853 | ||
441 | === modified file 'cvpcb/cvpcb_mainframe.h' | |||
442 | --- cvpcb/cvpcb_mainframe.h 2015-06-07 18:18:45 +0000 | |||
443 | +++ cvpcb/cvpcb_mainframe.h 2015-06-20 07:42:20 +0000 | |||
444 | @@ -174,6 +174,9 @@ | |||
445 | 174 | 174 | ||
446 | 175 | void OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event ); | 175 | void OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event ); |
447 | 176 | 176 | ||
448 | 177 | #if defined(KICAD_GOST) | ||
449 | 178 | wxString FormFullString( COMPONENT* aComponent ); | ||
450 | 179 | #endif | ||
451 | 177 | /** | 180 | /** |
452 | 178 | * Function SetNewPkg | 181 | * Function SetNewPkg |
453 | 179 | * links the footprint to the current selected component | 182 | * links the footprint to the current selected component |
454 | 180 | 183 | ||
455 | === modified file 'cvpcb/readwrite_dlgs.cpp' | |||
456 | --- cvpcb/readwrite_dlgs.cpp 2015-06-07 18:18:45 +0000 | |||
457 | +++ cvpcb/readwrite_dlgs.cpp 2015-06-20 07:42:20 +0000 | |||
458 | @@ -45,6 +45,28 @@ | |||
459 | 45 | #include <fp_conflict_assignment_selector.h> | 45 | #include <fp_conflict_assignment_selector.h> |
460 | 46 | 46 | ||
461 | 47 | 47 | ||
462 | 48 | #if defined(KICAD_GOST) | ||
463 | 49 | wxString CVPCB_MAINFRAME::FormFullString( COMPONENT* aComponent ) | ||
464 | 50 | { | ||
465 | 51 | wxString full_str; | ||
466 | 52 | |||
467 | 53 | if( aComponent->GetType() == wxEmptyString ) | ||
468 | 54 | full_str = aComponent->GetName(); | ||
469 | 55 | else | ||
470 | 56 | full_str = aComponent->GetType(); | ||
471 | 57 | |||
472 | 58 | if( aComponent->GetValue() != wxT( "~" ) | ||
473 | 59 | && aComponent->GetValue() != aComponent->GetName() ) | ||
474 | 60 | // workaround for eeschema bug (Value field is assigned to Chip Name field by default | ||
475 | 61 | // on the component adding from a library) | ||
476 | 62 | { | ||
477 | 63 | full_str += wxT( " " ) + aComponent->GetValue(); | ||
478 | 64 | } | ||
479 | 65 | |||
480 | 66 | return full_str; | ||
481 | 67 | } | ||
482 | 68 | #endif | ||
483 | 69 | |||
484 | 48 | void CVPCB_MAINFRAME::SetNewPkg( const wxString& aFootprintName ) | 70 | void CVPCB_MAINFRAME::SetNewPkg( const wxString& aFootprintName ) |
485 | 49 | { | 71 | { |
486 | 50 | COMPONENT* component; | 72 | COMPONENT* component; |
487 | @@ -86,10 +108,18 @@ | |||
488 | 86 | component->SetFPID( fpid ); | 108 | component->SetFPID( fpid ); |
489 | 87 | 109 | ||
490 | 88 | // create the new component description | 110 | // create the new component description |
491 | 111 | |||
492 | 112 | #if defined(KICAD_GOST) | ||
493 | 113 | wxString description = wxString::Format( CMP_FORMAT, componentIndex + 1, | ||
494 | 114 | GetChars( component->GetReference() ), | ||
495 | 115 | GetChars( FormFullString( component ) ), | ||
496 | 116 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); | ||
497 | 117 | #else | ||
498 | 89 | wxString description = wxString::Format( CMP_FORMAT, componentIndex + 1, | 118 | wxString description = wxString::Format( CMP_FORMAT, componentIndex + 1, |
499 | 90 | GetChars( component->GetReference() ), | 119 | GetChars( component->GetReference() ), |
500 | 91 | GetChars( component->GetValue() ), | 120 | GetChars( component->GetValue() ), |
501 | 92 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); | 121 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); |
502 | 122 | #endif | ||
503 | 93 | 123 | ||
504 | 94 | // If the component hasn't had a footprint associated with it | 124 | // If the component hasn't had a footprint associated with it |
505 | 95 | // it now has, so we decrement the count of components without | 125 | // it now has, so we decrement the count of components without |
506 | @@ -115,7 +145,6 @@ | |||
507 | 115 | DisplayStatus(); | 145 | DisplayStatus(); |
508 | 116 | } | 146 | } |
509 | 117 | 147 | ||
510 | 118 | |||
511 | 119 | /// Return true if the resultant FPID has a certain nickname. The guess | 148 | /// Return true if the resultant FPID has a certain nickname. The guess |
512 | 120 | /// is only made if this footprint resides in only one library. | 149 | /// is only made if this footprint resides in only one library. |
513 | 121 | /// @return int - 0 on success, 1 on not found, 2 on ambiguous i.e. multiple matches | 150 | /// @return int - 0 on success, 1 on not found, 2 on ambiguous i.e. multiple matches |
514 | @@ -344,10 +373,17 @@ | |||
515 | 344 | { | 373 | { |
516 | 345 | COMPONENT* component = m_netlist.GetComponent( i ); | 374 | COMPONENT* component = m_netlist.GetComponent( i ); |
517 | 346 | 375 | ||
518 | 376 | #if defined(KICAD_GOST) | ||
519 | 377 | msg.Printf( CMP_FORMAT, m_compListBox->GetCount() + 1, | ||
520 | 378 | GetChars( component->GetReference() ), | ||
521 | 379 | GetChars( FormFullString( component ) ), | ||
522 | 380 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); | ||
523 | 381 | #else | ||
524 | 347 | msg.Printf( CMP_FORMAT, m_compListBox->GetCount() + 1, | 382 | msg.Printf( CMP_FORMAT, m_compListBox->GetCount() + 1, |
525 | 348 | GetChars( component->GetReference() ), | 383 | GetChars( component->GetReference() ), |
526 | 349 | GetChars( component->GetValue() ), | 384 | GetChars( component->GetValue() ), |
527 | 350 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); | 385 | GetChars( FROM_UTF8( component->GetFPID().Format().c_str() ) ) ); |
528 | 386 | #endif | ||
529 | 351 | 387 | ||
530 | 352 | m_compListBox->AppendLine( msg ); | 388 | m_compListBox->AppendLine( msg ); |
531 | 353 | 389 | ||
532 | 354 | 390 | ||
533 | === modified file 'demos/CMakeLists.txt' | |||
534 | --- demos/CMakeLists.txt 2015-04-27 18:02:27 +0000 | |||
535 | +++ demos/CMakeLists.txt 2015-06-20 07:42:20 +0000 | |||
536 | @@ -1,4 +1,5 @@ | |||
537 | 1 | install( DIRECTORY | 1 | install( DIRECTORY |
538 | 2 | GOST | ||
539 | 2 | complex_hierarchy | 3 | complex_hierarchy |
540 | 3 | ecc83 electric | 4 | ecc83 electric |
541 | 4 | flat_hierarchy | 5 | flat_hierarchy |
542 | 5 | 6 | ||
543 | === added directory 'demos/GOST' | |||
544 | === added file 'demos/GOST/multivibrator-comp-idx-kicad_uno_iface.log' | |||
545 | --- demos/GOST/multivibrator-comp-idx-kicad_uno_iface.log 1970-01-01 00:00:00 +0000 | |||
546 | +++ demos/GOST/multivibrator-comp-idx-kicad_uno_iface.log 2015-06-20 07:42:20 +0000 | |||
547 | @@ -0,0 +1,103 @@ | |||
548 | 1 | ('Python version:', (2, 6, 6, 'final', 0)) | ||
549 | 2 | Connect | ||
550 | 3 | LoadDocument {file:///usr/local/share/kicad/GOST-doc-gen/templates/CompIndexFirstSheet_template.odt} | ||
551 | 4 | SelectTable {0} | ||
552 | 5 | PutCell {3:E4} {Мультивибратор} {0} | ||
553 | 6 | PutCell {3:F1} {АБВГ.000000.001ПЭ3} {0} | ||
554 | 7 | PutCell {0:B1} {АБВГ.000000.001} {0} | ||
555 | 8 | PutCell {3:B4} {Лунев} {0} | ||
556 | 9 | PutCell {3:B5} {Барановский} {0} | ||
557 | 10 | PutCell {3:B8} {Викулов} {0} | ||
558 | 11 | PutCell {3:F6} {ООО "XXXXX"} {0} | ||
559 | 12 | SelectTable {0} | ||
560 | 13 | PutCell {1:A4} {} {0} | ||
561 | 14 | SelectTable {0} | ||
562 | 15 | PutCell {1:A5} {C4} {0} | ||
563 | 16 | PutCell {1:C5} {1} {0} | ||
564 | 17 | PutCell {1:D5} {Не устанавливается} {0} | ||
565 | 18 | SelectTable {0} | ||
566 | 19 | PutCell {1:A6} {} {0} | ||
567 | 20 | SelectTable {0} | ||
568 | 21 | PutCell {1:A7} {} {0} | ||
569 | 22 | PutCell {1:B7} {Резисторы 0805} {2} | ||
570 | 23 | SelectTable {0} | ||
571 | 24 | PutCell {1:A8} {R1} {0} | ||
572 | 25 | PutCell {1:B8} {0805 1 кОм ±5 %} {0} | ||
573 | 26 | PutCell {1:C8} {1} {0} | ||
574 | 27 | PutCell {1:D8} { "Yageo"} {0} | ||
575 | 28 | SelectTable {0} | ||
576 | 29 | PutCell {1:A9} {R2,R3} {0} | ||
577 | 30 | PutCell {1:B9} {0805 100 кОм ±5 %} {0} | ||
578 | 31 | PutCell {1:C9} {2} {0} | ||
579 | 32 | PutCell {1:D9} { "Yageo"} {0} | ||
580 | 33 | SelectTable {0} | ||
581 | 34 | PutCell {1:A10} {R4} {0} | ||
582 | 35 | PutCell {1:B10} {0805 1 кОм ±5 %} {0} | ||
583 | 36 | PutCell {1:C10} {1} {0} | ||
584 | 37 | PutCell {1:D10} { "Yageo"} {0} | ||
585 | 38 | SelectTable {0} | ||
586 | 39 | PutCell {1:A11} {} {0} | ||
587 | 40 | SelectTable {0} | ||
588 | 41 | PutCell {1:A12} {VT1,VT2} {0} | ||
589 | 42 | PutCell {1:B12} {Транзистор PN2222A} {0} | ||
590 | 43 | PutCell {1:C12} {2} {0} | ||
591 | 44 | PutCell {1:D12} {допускается замена} {0} | ||
592 | 45 | PutCell {1:D13} {на MMBT2222A} {0} | ||
593 | 46 | PutCell {1:D14} {"Fairchild"} {0} | ||
594 | 47 | SelectTable {0} | ||
595 | 48 | PutCell {1:A15} {} {0} | ||
596 | 49 | SelectTable {0} | ||
597 | 50 | PutCell {1:A16} {} {0} | ||
598 | 51 | PutCell {1:B16} {Переменные данные для исполнений} {3} | ||
599 | 52 | SelectTable {0} | ||
600 | 53 | PutCell {1:A17} {} {0} | ||
601 | 54 | SelectTable {0} | ||
602 | 55 | PutCell {1:A18} {} {0} | ||
603 | 56 | PutCell {1:B18} {АБВГ.000000.001} {3} | ||
604 | 57 | SelectTable {0} | ||
605 | 58 | PutCell {1:A19} {} {0} | ||
606 | 59 | PutCell {1:B19} {Мультивибратор} {3} | ||
607 | 60 | SelectTable {0} | ||
608 | 61 | PutCell {1:A20} {} {0} | ||
609 | 62 | SelectTable {0} | ||
610 | 63 | PutCell {1:A21} {C1,C2} {0} | ||
611 | 64 | PutCell {1:B21} {Конденсатор 0805-X7R-50 В- 0,1 мкФ ±20 %} {0} | ||
612 | 65 | PutCell {1:C21} {2} {0} | ||
613 | 66 | PutCell {1:D21} { "AVX"} {0} | ||
614 | 67 | SelectTable {0} | ||
615 | 68 | PutCell {1:A22} {} {0} | ||
616 | 69 | SelectTable {0} | ||
617 | 70 | PutCell {1:A23} {} {0} | ||
618 | 71 | PutCell {1:B23} {АБВГ.000000.001-01} {3} | ||
619 | 72 | SelectTable {0} | ||
620 | 73 | PutCell {1:A24} {} {0} | ||
621 | 74 | PutCell {1:B24} {Мультивибратор - 01} {3} | ||
622 | 75 | SelectTable {0} | ||
623 | 76 | PutCell {1:A25} {} {0} | ||
624 | 77 | SelectTable {0} | ||
625 | 78 | PutCell {1:A26} {} {0} | ||
626 | 79 | PutCell {1:B26} {Конденсаторы 0805} {2} | ||
627 | 80 | AppendDocument {file:///usr/local/share/kicad/GOST-doc-gen/templates/CompIndexMiddleSheet_template.odt} | ||
628 | 81 | SelectTable {1} | ||
629 | 82 | PutCell {3:G3} {2} {0} | ||
630 | 83 | PutCell {3:F1} {АБВГ.000000.001ПЭ3} {0} | ||
631 | 84 | SelectTable {1} | ||
632 | 85 | PutCell {1:A2} {} {0} | ||
633 | 86 | PutCell {1:B2} {Конденсаторы танталовые тип B} {2} | ||
634 | 87 | SelectTable {1} | ||
635 | 88 | PutCell {1:A3} {C1,C2} {0} | ||
636 | 89 | PutCell {1:B3} {0805-X7R-50 В- 0,22 мкФ ±20 %} {0} | ||
637 | 90 | PutCell {1:C3} {2} {0} | ||
638 | 91 | PutCell {1:D3} { "AVX"} {0} | ||
639 | 92 | SelectTable {1} | ||
640 | 93 | PutCell {1:A4} {C3} {0} | ||
641 | 94 | PutCell {1:B4} {танталовый тип B-16 В- 10 мкФ ±20 %} {0} | ||
642 | 95 | PutCell {1:C4} {1} {0} | ||
643 | 96 | PutCell {1:D4} { "Panasonic"} {0} | ||
644 | 97 | AppendDocument {file:///usr/local/share/kicad/GOST-doc-gen/templates/CompIndexLastSheet_template.odt} | ||
645 | 98 | SelectTable {2} | ||
646 | 99 | PutCell {3:I5} {3} {0} | ||
647 | 100 | PutCell {3:F1} {АБВГ.000000.001ПЭ3} {0} | ||
648 | 101 | SelectTable {0} | ||
649 | 102 | PutCell {3:J5} {3} {0} | ||
650 | 103 | Exit | ||
651 | 0 | 104 | ||
652 | === added file 'demos/GOST/multivibrator-spec-kicad_uno_iface.log' | |||
653 | --- demos/GOST/multivibrator-spec-kicad_uno_iface.log 1970-01-01 00:00:00 +0000 | |||
654 | +++ demos/GOST/multivibrator-spec-kicad_uno_iface.log 2015-06-20 07:42:20 +0000 | |||
655 | @@ -0,0 +1,180 @@ | |||
656 | 1 | ('Python version:', (2, 6, 6, 'final', 0)) | ||
657 | 2 | Connect | ||
658 | 3 | LoadDocument {file:///usr/local/share/kicad/GOST-doc-gen/templates/SpecificationFirstSheet_template.odt} | ||
659 | 4 | SelectTable {0} | ||
660 | 5 | PutCell {3:E4} {Мультивибратор} {0} | ||
661 | 6 | PutCell {3:F1} {АБВГ.000000.001} {0} | ||
662 | 7 | PutCell {0:B1} {} {0} | ||
663 | 8 | PutCell {3:B4} {Лунев} {0} | ||
664 | 9 | PutCell {3:B5} {Барановский} {0} | ||
665 | 10 | PutCell {3:B8} {Викулов} {0} | ||
666 | 11 | PutCell {3:F6} {ООО "XXXXX"} {0} | ||
667 | 12 | SelectTable {0} | ||
668 | 13 | PutCell {1:A4} {} {0} | ||
669 | 14 | PutCell {1:D4} {} {0} | ||
670 | 15 | SelectTable {0} | ||
671 | 16 | PutCell {1:A5} {} {0} | ||
672 | 17 | PutCell {1:D5} {} {0} | ||
673 | 18 | PutCell {1:E5} {Документация} {3} | ||
674 | 19 | SelectTable {0} | ||
675 | 20 | PutCell {1:A6} {} {0} | ||
676 | 21 | PutCell {1:D6} {} {0} | ||
677 | 22 | SelectTable {0} | ||
678 | 23 | PutCell {1:A7} {} {0} | ||
679 | 24 | PutCell {1:D7} {АБВГ.000000.001 СБ} {0} | ||
680 | 25 | PutCell {1:E7} {Сборочный чертеж} {0} | ||
681 | 26 | SelectTable {0} | ||
682 | 27 | PutCell {1:A8} {} {0} | ||
683 | 28 | PutCell {1:D8} {} {0} | ||
684 | 29 | SelectTable {0} | ||
685 | 30 | PutCell {1:A9} {} {0} | ||
686 | 31 | PutCell {1:D9} {АБВГ.000000.001 Э3} {0} | ||
687 | 32 | PutCell {1:E9} {Схема электрическая} {0} | ||
688 | 33 | PutCell {1:E10} {принципиальная} {0} | ||
689 | 34 | SelectTable {0} | ||
690 | 35 | PutCell {1:A11} {} {0} | ||
691 | 36 | PutCell {1:D11} {} {0} | ||
692 | 37 | SelectTable {0} | ||
693 | 38 | PutCell {1:A12} {A4} {0} | ||
694 | 39 | PutCell {1:D12} {АБВГ.000000.001 ПЭ3} {0} | ||
695 | 40 | PutCell {1:E12} {Перечень элементов} {0} | ||
696 | 41 | SelectTable {0} | ||
697 | 42 | PutCell {1:A13} {} {0} | ||
698 | 43 | PutCell {1:D13} {} {0} | ||
699 | 44 | SelectTable {0} | ||
700 | 45 | PutCell {1:A14} {} {0} | ||
701 | 46 | PutCell {1:D14} {} {0} | ||
702 | 47 | PutCell {1:E14} {Детали} {3} | ||
703 | 48 | SelectTable {0} | ||
704 | 49 | PutCell {1:A15} {} {0} | ||
705 | 50 | PutCell {1:D15} {} {0} | ||
706 | 51 | SelectTable {0} | ||
707 | 52 | PutCell {1:A16} {} {0} | ||
708 | 53 | PutCell {1:C16} {1} {0} | ||
709 | 54 | PutCell {1:D16} {} {0} | ||
710 | 55 | PutCell {1:E16} {Плата печатная} {0} | ||
711 | 56 | PutCell {1:F16} {1} {0} | ||
712 | 57 | SelectTable {0} | ||
713 | 58 | PutCell {1:A17} {} {0} | ||
714 | 59 | PutCell {1:D17} {} {0} | ||
715 | 60 | SelectTable {0} | ||
716 | 61 | PutCell {1:A18} {} {0} | ||
717 | 62 | PutCell {1:D18} {} {0} | ||
718 | 63 | SelectTable {0} | ||
719 | 64 | PutCell {1:A19} {} {0} | ||
720 | 65 | PutCell {1:D19} {} {0} | ||
721 | 66 | PutCell {1:E19} {Прочие изделия} {3} | ||
722 | 67 | SelectTable {0} | ||
723 | 68 | PutCell {1:A20} {} {0} | ||
724 | 69 | PutCell {1:D20} {} {0} | ||
725 | 70 | SelectTable {0} | ||
726 | 71 | PutCell {1:A21} {} {0} | ||
727 | 72 | PutCell {1:D21} {} {0} | ||
728 | 73 | PutCell {1:E21} {Резисторы 0805} {0} | ||
729 | 74 | SelectTable {0} | ||
730 | 75 | PutCell {1:A22} {} {0} | ||
731 | 76 | PutCell {1:C22} {5} {0} | ||
732 | 77 | PutCell {1:D22} {} {0} | ||
733 | 78 | PutCell {1:E22} {0805 1 кОм ±5 %} {0} | ||
734 | 79 | PutCell {1:E23} {Фирма "Yageo"} {0} | ||
735 | 80 | PutCell {1:F22} {2} {0} | ||
736 | 81 | PutCell {1:G22} {R1,R4} {0} | ||
737 | 82 | SelectTable {0} | ||
738 | 83 | PutCell {1:A24} {} {0} | ||
739 | 84 | PutCell {1:C24} {6} {0} | ||
740 | 85 | PutCell {1:D24} {} {0} | ||
741 | 86 | PutCell {1:E24} {0805 100 кОм ±5 %} {0} | ||
742 | 87 | PutCell {1:E25} {Фирма "Yageo"} {0} | ||
743 | 88 | PutCell {1:F24} {2} {0} | ||
744 | 89 | PutCell {1:G24} {R2,R3} {0} | ||
745 | 90 | SelectTable {0} | ||
746 | 91 | PutCell {1:A26} {} {0} | ||
747 | 92 | PutCell {1:D26} {} {0} | ||
748 | 93 | AppendDocument {file:///usr/local/share/kicad/GOST-doc-gen/templates/SpecificationMiddleSheet_template.odt} | ||
749 | 94 | SelectTable {1} | ||
750 | 95 | PutCell {3:G3} {2} {0} | ||
751 | 96 | PutCell {3:F1} {АБВГ.000000.001} {0} | ||
752 | 97 | SelectTable {1} | ||
753 | 98 | PutCell {1:A2} {} {0} | ||
754 | 99 | PutCell {1:C2} {7} {0} | ||
755 | 100 | PutCell {1:D2} {} {0} | ||
756 | 101 | PutCell {1:E2} {Транзистор PN2222A} {0} | ||
757 | 102 | PutCell {1:E3} {Фирма "Fairchild"} {0} | ||
758 | 103 | PutCell {1:E4} {допускается замена на} {0} | ||
759 | 104 | PutCell {1:E5} {MMBT2222A} {0} | ||
760 | 105 | PutCell {1:F2} {2} {0} | ||
761 | 106 | PutCell {1:G2} {VT1,VT2} {0} | ||
762 | 107 | SelectTable {1} | ||
763 | 108 | PutCell {1:A6} {} {0} | ||
764 | 109 | PutCell {1:D6} {} {0} | ||
765 | 110 | SelectTable {1} | ||
766 | 111 | PutCell {1:A7} {} {0} | ||
767 | 112 | PutCell {1:D7} {} {0} | ||
768 | 113 | PutCell {1:E7} {Переменные данные} {3} | ||
769 | 114 | PutCell {1:E8} {для исполнений} {3} | ||
770 | 115 | SelectTable {1} | ||
771 | 116 | PutCell {1:A9} {} {0} | ||
772 | 117 | PutCell {1:D9} {} {0} | ||
773 | 118 | SelectTable {1} | ||
774 | 119 | PutCell {1:A10} {} {0} | ||
775 | 120 | PutCell {1:D10} {} {0} | ||
776 | 121 | PutCell {1:E10} {АБВГ.000000.001} {3} | ||
777 | 122 | SelectTable {1} | ||
778 | 123 | PutCell {1:A11} {} {0} | ||
779 | 124 | PutCell {1:D11} {} {0} | ||
780 | 125 | PutCell {1:E11} {Мультивибратор} {3} | ||
781 | 126 | SelectTable {1} | ||
782 | 127 | PutCell {1:A12} {} {0} | ||
783 | 128 | PutCell {1:D12} {} {0} | ||
784 | 129 | SelectTable {1} | ||
785 | 130 | PutCell {1:A13} {} {0} | ||
786 | 131 | PutCell {1:C13} {2} {0} | ||
787 | 132 | PutCell {1:D13} {} {0} | ||
788 | 133 | PutCell {1:E13} {Конденсатор 0805-X7R-50 В-} {0} | ||
789 | 134 | PutCell {1:E14} {0,1 мкФ ±20 %} {0} | ||
790 | 135 | PutCell {1:E15} {Фирма "AVX"} {0} | ||
791 | 136 | PutCell {1:F13} {2} {0} | ||
792 | 137 | PutCell {1:G13} {C1,C2} {0} | ||
793 | 138 | SelectTable {1} | ||
794 | 139 | PutCell {1:A16} {} {0} | ||
795 | 140 | PutCell {1:D16} {} {0} | ||
796 | 141 | SelectTable {1} | ||
797 | 142 | PutCell {1:A17} {} {0} | ||
798 | 143 | PutCell {1:D17} {} {0} | ||
799 | 144 | PutCell {1:E17} {АБВГ.000000.001-01} {3} | ||
800 | 145 | SelectTable {1} | ||
801 | 146 | PutCell {1:A18} {} {0} | ||
802 | 147 | PutCell {1:D18} {} {0} | ||
803 | 148 | PutCell {1:E18} {Мультивибратор - 01} {3} | ||
804 | 149 | SelectTable {1} | ||
805 | 150 | PutCell {1:A19} {} {0} | ||
806 | 151 | PutCell {1:D19} {} {0} | ||
807 | 152 | SelectTable {1} | ||
808 | 153 | PutCell {1:A20} {} {0} | ||
809 | 154 | PutCell {1:C20} {3} {0} | ||
810 | 155 | PutCell {1:D20} {} {0} | ||
811 | 156 | PutCell {1:E20} {Конденсатор 0805-X7R-50 В-} {0} | ||
812 | 157 | PutCell {1:E21} {0,22 мкФ ±20 %} {0} | ||
813 | 158 | PutCell {1:E22} {Фирма "AVX"} {0} | ||
814 | 159 | PutCell {1:F20} {2} {0} | ||
815 | 160 | PutCell {1:G20} {C1,C2} {0} | ||
816 | 161 | SelectTable {1} | ||
817 | 162 | PutCell {1:A23} {} {0} | ||
818 | 163 | PutCell {1:D23} {} {0} | ||
819 | 164 | SelectTable {1} | ||
820 | 165 | PutCell {1:A24} {} {0} | ||
821 | 166 | PutCell {1:C24} {4} {0} | ||
822 | 167 | PutCell {1:D24} {} {0} | ||
823 | 168 | PutCell {1:E24} {Конденсатор} {0} | ||
824 | 169 | PutCell {1:E25} {танталовый тип B-16 В-} {0} | ||
825 | 170 | PutCell {1:E26} {10 мкФ ±20 %} {0} | ||
826 | 171 | PutCell {1:E27} {Фирма "Panasonic"} {0} | ||
827 | 172 | PutCell {1:F24} {1} {0} | ||
828 | 173 | PutCell {1:G24} {C3} {0} | ||
829 | 174 | AppendDocument {file:///usr/local/share/kicad/GOST-doc-gen/templates/CompIndexLastSheet_template.odt} | ||
830 | 175 | SelectTable {2} | ||
831 | 176 | PutCell {3:I5} {3} {0} | ||
832 | 177 | PutCell {3:F1} {АБВГ.000000.001} {0} | ||
833 | 178 | SelectTable {0} | ||
834 | 179 | PutCell {3:J5} {3} {0} | ||
835 | 180 | Exit | ||
836 | 0 | 181 | ||
837 | === added file 'demos/GOST/multivibrator.sch' | |||
838 | --- demos/GOST/multivibrator.sch 1970-01-01 00:00:00 +0000 | |||
839 | +++ demos/GOST/multivibrator.sch 2015-06-20 07:42:20 +0000 | |||
840 | @@ -0,0 +1,250 @@ | |||
841 | 1 | EESchema Schematic File Version 2 | ||
842 | 2 | LIBS:power | ||
843 | 3 | LIBS:device | ||
844 | 4 | LIBS:transistors | ||
845 | 5 | LIBS:conn | ||
846 | 6 | LIBS:linear | ||
847 | 7 | LIBS:regul | ||
848 | 8 | LIBS:74xx | ||
849 | 9 | LIBS:cmos4000 | ||
850 | 10 | LIBS:adc-dac | ||
851 | 11 | LIBS:memory | ||
852 | 12 | LIBS:xilinx | ||
853 | 13 | LIBS:special | ||
854 | 14 | LIBS:microcontrollers | ||
855 | 15 | LIBS:dsp | ||
856 | 16 | LIBS:microchip | ||
857 | 17 | LIBS:analog_switches | ||
858 | 18 | LIBS:motorola | ||
859 | 19 | LIBS:texas | ||
860 | 20 | LIBS:intel | ||
861 | 21 | LIBS:audio | ||
862 | 22 | LIBS:interface | ||
863 | 23 | LIBS:digital-audio | ||
864 | 24 | LIBS:philips | ||
865 | 25 | LIBS:display | ||
866 | 26 | LIBS:cypress | ||
867 | 27 | LIBS:siliconi | ||
868 | 28 | LIBS:opto | ||
869 | 29 | LIBS:atmel | ||
870 | 30 | LIBS:contrib | ||
871 | 31 | LIBS:valves | ||
872 | 32 | EELAYER 24 0 | ||
873 | 33 | EELAYER END | ||
874 | 34 | $Descr A4 8268 11693 portrait | ||
875 | 35 | encoding utf-8 | ||
876 | 36 | Sheet 1 1 | ||
877 | 37 | Title "Мультивибратор" | ||
878 | 38 | Date "21 apr 2013" | ||
879 | 39 | Rev "" | ||
880 | 40 | Comp "ООО \"XXXXX\"" | ||
881 | 41 | Comment1 "АБВГ.000000.001" | ||
882 | 42 | Comment2 "Лунев" | ||
883 | 43 | Comment3 "Барановский" | ||
884 | 44 | Comment4 "Викулов" | ||
885 | 45 | $EndDescr | ||
886 | 46 | $Comp | ||
887 | 47 | L PN2222A VT1 | ||
888 | 48 | U 1 1 5173A466 | ||
889 | 49 | P 3300 5300 | ||
890 | 50 | F 0 "VT1" H 3300 5152 40 0000 R CNN | ||
891 | 51 | F 1 "~" H 3300 5450 40 0001 R CNN | ||
892 | 52 | F 2 "TO92" H 3200 5402 29 0001 C CNN | ||
893 | 53 | F 3 "~" H 3300 5300 60 0000 C CNN | ||
894 | 54 | F 4 "Транзистор" H 3300 5300 60 0001 C CNN "Title" | ||
895 | 55 | F 5 "Fairchild" H 3300 5300 60 0001 C CNN "Manufacturer" | ||
896 | 56 | F 6 "допускается замена на MMBT2222A" H 3300 5300 60 0001 C CNN "Note" | ||
897 | 57 | F 7 "PN2222A" H 3300 5300 60 0001 C CNN "Type" | ||
898 | 58 | 1 3300 5300 | ||
899 | 59 | -1 0 0 -1 | ||
900 | 60 | $EndComp | ||
901 | 61 | $Comp | ||
902 | 62 | L C C1 | ||
903 | 63 | U 1 1 5173A497 | ||
904 | 64 | P 3900 5300 | ||
905 | 65 | F 0 "C1" H 3900 5400 40 0000 L CNN | ||
906 | 66 | F 1 "<00>0,1 мкФ</00><01>0,22 мкФ</01>" H 3906 5215 40 0001 L CNN | ||
907 | 67 | F 2 "~" H 3938 5150 30 0000 C CNN | ||
908 | 68 | F 3 "~" H 3900 5300 60 0000 C CNN | ||
909 | 69 | F 4 "0805" H 3900 5300 60 0001 C CNN "Type" | ||
910 | 70 | F 5 "-X7R-50 В-" H 3900 5300 60 0001 C CNN "SType" | ||
911 | 71 | F 6 "20%" H 3900 5300 60 0001 C CNN "Precision" | ||
912 | 72 | F 7 "AVX" H 3900 5300 60 0001 C CNN "Manufacturer" | ||
913 | 73 | F 8 "<00>Конденсатор</00><01>Конденсатор</01>" H 3900 5300 60 0001 C CNN "Title" | ||
914 | 74 | 1 3900 5300 | ||
915 | 75 | 0 1 1 0 | ||
916 | 76 | $EndComp | ||
917 | 77 | $Comp | ||
918 | 78 | L R R1 | ||
919 | 79 | U 1 1 5173A4D3 | ||
920 | 80 | P 3200 4650 | ||
921 | 81 | F 0 "R1" V 3280 4650 40 0000 C CNN | ||
922 | 82 | F 1 "1 кОм" V 3207 4651 40 0001 C CNN | ||
923 | 83 | F 2 "~" V 3130 4650 30 0000 C CNN | ||
924 | 84 | F 3 "~" H 3200 4650 30 0000 C CNN | ||
925 | 85 | F 4 "Резистор" V 3200 4650 60 0001 C CNN "Title" | ||
926 | 86 | F 5 "0805" V 3200 4650 60 0001 C CNN "Type" | ||
927 | 87 | F 6 "5%" V 3200 4650 60 0001 C CNN "Precision" | ||
928 | 88 | F 7 "Yageo" V 3200 4650 60 0001 C CNN "Manufacturer" | ||
929 | 89 | 1 3200 4650 | ||
930 | 90 | 1 0 0 -1 | ||
931 | 91 | $EndComp | ||
932 | 92 | Wire Wire Line | ||
933 | 93 | 3200 5500 3200 5700 | ||
934 | 94 | Wire Wire Line | ||
935 | 95 | 3200 5700 5700 5700 | ||
936 | 96 | Wire Wire Line | ||
937 | 97 | 5300 5700 5300 5500 | ||
938 | 98 | Wire Wire Line | ||
939 | 99 | 3200 4900 3200 5100 | ||
940 | 100 | Wire Wire Line | ||
941 | 101 | 3700 4900 3700 5300 | ||
942 | 102 | Wire Wire Line | ||
943 | 103 | 3700 5300 3500 5300 | ||
944 | 104 | Wire Wire Line | ||
945 | 105 | 4800 5300 5000 5300 | ||
946 | 106 | Wire Wire Line | ||
947 | 107 | 4800 4900 4800 5300 | ||
948 | 108 | Wire Wire Line | ||
949 | 109 | 5300 4900 5300 5100 | ||
950 | 110 | Wire Wire Line | ||
951 | 111 | 3200 4400 3200 4200 | ||
952 | 112 | Wire Wire Line | ||
953 | 113 | 3200 4200 5700 4200 | ||
954 | 114 | Wire Wire Line | ||
955 | 115 | 5300 4200 5300 4400 | ||
956 | 116 | Wire Wire Line | ||
957 | 117 | 4800 4200 4800 4400 | ||
958 | 118 | Connection ~ 4800 4200 | ||
959 | 119 | Wire Wire Line | ||
960 | 120 | 3700 4200 3700 4400 | ||
961 | 121 | Connection ~ 3700 4200 | ||
962 | 122 | Wire Wire Line | ||
963 | 123 | 5300 5000 4100 5000 | ||
964 | 124 | Wire Wire Line | ||
965 | 125 | 4100 5000 4100 5300 | ||
966 | 126 | Connection ~ 5300 5000 | ||
967 | 127 | Wire Wire Line | ||
968 | 128 | 4400 5300 4400 5100 | ||
969 | 129 | Wire Wire Line | ||
970 | 130 | 4400 5100 3200 5100 | ||
971 | 131 | Wire Wire Line | ||
972 | 132 | 5700 5700 5700 4800 | ||
973 | 133 | Connection ~ 5300 5700 | ||
974 | 134 | Wire Wire Line | ||
975 | 135 | 5700 4200 5700 4400 | ||
976 | 136 | Connection ~ 5300 4200 | ||
977 | 137 | $Comp | ||
978 | 138 | L R R2 | ||
979 | 139 | U 1 1 5173A7AC | ||
980 | 140 | P 3700 4650 | ||
981 | 141 | F 0 "R2" V 3780 4650 40 0000 C CNN | ||
982 | 142 | F 1 "100 кОм" V 3707 4651 40 0001 C CNN | ||
983 | 143 | F 2 "~" V 3630 4650 30 0000 C CNN | ||
984 | 144 | F 3 "~" H 3700 4650 30 0000 C CNN | ||
985 | 145 | F 4 "Резистор" V 3700 4650 60 0001 C CNN "Title" | ||
986 | 146 | F 5 "0805" V 3700 4650 60 0001 C CNN "Type" | ||
987 | 147 | F 6 "5%" V 3700 4650 60 0001 C CNN "Precision" | ||
988 | 148 | F 7 "Yageo" V 3700 4650 60 0001 C CNN "Manufacturer" | ||
989 | 149 | 1 3700 4650 | ||
990 | 150 | 1 0 0 -1 | ||
991 | 151 | $EndComp | ||
992 | 152 | $Comp | ||
993 | 153 | L C C2 | ||
994 | 154 | U 1 1 5173A8F6 | ||
995 | 155 | P 4600 5300 | ||
996 | 156 | F 0 "C2" H 4600 5400 40 0000 L CNN | ||
997 | 157 | F 1 "<00>0,1 мкФ</00><01>0,22 мкФ</01>" H 4606 5215 40 0001 L CNN | ||
998 | 158 | F 2 "~" H 4638 5150 30 0000 C CNN | ||
999 | 159 | F 3 "~" H 4600 5300 60 0000 C CNN | ||
1000 | 160 | F 4 "0805" H 4600 5300 60 0001 C CNN "Type" | ||
1001 | 161 | F 5 "-X7R-50 В-" H 4600 5300 60 0001 C CNN "SType" | ||
1002 | 162 | F 6 "20%" H 4600 5300 60 0001 C CNN "Precision" | ||
1003 | 163 | F 7 "AVX" H 4600 5300 60 0001 C CNN "Manufacturer" | ||
1004 | 164 | F 8 "<00>Конденсатор</00><01>Конденсатор</01>" H 4600 5300 60 0001 C CNN "Title" | ||
1005 | 165 | 1 4600 5300 | ||
1006 | 166 | 0 1 1 0 | ||
1007 | 167 | $EndComp | ||
1008 | 168 | $Comp | ||
1009 | 169 | L R R3 | ||
1010 | 170 | U 1 1 5173A96B | ||
1011 | 171 | P 4800 4650 | ||
1012 | 172 | F 0 "R3" V 4880 4650 40 0000 C CNN | ||
1013 | 173 | F 1 "100 кОм" V 4807 4651 40 0001 C CNN | ||
1014 | 174 | F 2 "~" V 4730 4650 30 0000 C CNN | ||
1015 | 175 | F 3 "~" H 4800 4650 30 0000 C CNN | ||
1016 | 176 | F 4 "Резистор" V 4800 4650 60 0001 C CNN "Title" | ||
1017 | 177 | F 5 "0805" V 4800 4650 60 0001 C CNN "Type" | ||
1018 | 178 | F 6 "5%" V 4800 4650 60 0001 C CNN "Precision" | ||
1019 | 179 | F 7 "Yageo" V 4800 4650 60 0001 C CNN "Manufacturer" | ||
1020 | 180 | 1 4800 4650 | ||
1021 | 181 | 1 0 0 -1 | ||
1022 | 182 | $EndComp | ||
1023 | 183 | $Comp | ||
1024 | 184 | L R R4 | ||
1025 | 185 | U 1 1 5173A975 | ||
1026 | 186 | P 5300 4650 | ||
1027 | 187 | F 0 "R4" V 5380 4650 40 0000 C CNN | ||
1028 | 188 | F 1 "1 кОм" V 5307 4651 40 0001 C CNN | ||
1029 | 189 | F 2 "~" V 5230 4650 30 0000 C CNN | ||
1030 | 190 | F 3 "~" H 5300 4650 30 0000 C CNN | ||
1031 | 191 | F 4 "Резистор" V 5300 4650 60 0001 C CNN "Title" | ||
1032 | 192 | F 5 "0805" V 5300 4650 60 0001 C CNN "Type" | ||
1033 | 193 | F 6 "5%" V 5300 4650 60 0001 C CNN "Precision" | ||
1034 | 194 | F 7 "Yageo" V 5300 4650 60 0001 C CNN "Manufacturer" | ||
1035 | 195 | 1 5300 4650 | ||
1036 | 196 | 1 0 0 -1 | ||
1037 | 197 | $EndComp | ||
1038 | 198 | $Comp | ||
1039 | 199 | L C C3 | ||
1040 | 200 | U 1 1 5173A4B5 | ||
1041 | 201 | P 5700 4600 | ||
1042 | 202 | F 0 "C3" H 5700 4700 40 0000 L CNN | ||
1043 | 203 | F 1 "10 мкФ" H 5706 4515 40 0001 L CNN | ||
1044 | 204 | F 2 "~" H 5738 4450 30 0000 C CNN | ||
1045 | 205 | F 3 "~" H 5700 4600 60 0000 C CNN | ||
1046 | 206 | F 4 "<01>Конденсатор</01>" H 5700 4600 60 0001 C CNN "Title" | ||
1047 | 207 | F 5 "танталовый тип B" H 5700 4600 60 0001 C CNN "Type" | ||
1048 | 208 | F 6 "-16 В-" H 5700 4600 60 0001 C CNN "SType" | ||
1049 | 209 | F 7 "20%" H 5700 4600 60 0001 C CNN "Precision" | ||
1050 | 210 | F 8 "Panasonic" H 5700 4600 60 0001 C CNN "Manufacturer" | ||
1051 | 211 | 1 5700 4600 | ||
1052 | 212 | 1 0 0 -1 | ||
1053 | 213 | $EndComp | ||
1054 | 214 | $Comp | ||
1055 | 215 | L PN2222A VT2 | ||
1056 | 216 | U 1 1 5173AAC5 | ||
1057 | 217 | P 5200 5300 | ||
1058 | 218 | F 0 "VT2" H 5200 5152 40 0000 R CNN | ||
1059 | 219 | F 1 "~" H 5200 5450 40 0001 R CNN | ||
1060 | 220 | F 2 "TO92" H 5100 5402 29 0001 C CNN | ||
1061 | 221 | F 3 "~" H 5200 5300 60 0000 C CNN | ||
1062 | 222 | F 4 "Транзистор" H 5200 5300 60 0001 C CNN "Title" | ||
1063 | 223 | F 5 "Fairchild" H 5200 5300 60 0001 C CNN "Manufacturer" | ||
1064 | 224 | F 6 "допускается замена на MMBT2222A" H 5200 5300 60 0001 C CNN "Note" | ||
1065 | 225 | F 7 "PN2222A" H 5200 5300 60 0001 C CNN "Type" | ||
1066 | 226 | 1 5200 5300 | ||
1067 | 227 | 1 0 0 -1 | ||
1068 | 228 | $EndComp | ||
1069 | 229 | $Comp | ||
1070 | 230 | L C C4 | ||
1071 | 231 | U 1 1 5173B0FE | ||
1072 | 232 | P 6100 4600 | ||
1073 | 233 | F 0 "C4" H 6100 4700 40 0000 L CNN | ||
1074 | 234 | F 1 "10 мкФ" H 6106 4515 40 0001 L CNN | ||
1075 | 235 | F 2 "~" H 6138 4450 30 0000 C CNN | ||
1076 | 236 | F 3 "~" H 6100 4600 60 0000 C CNN | ||
1077 | 237 | F 4 "Конденсатор" H 6100 4600 60 0001 C CNN "Title" | ||
1078 | 238 | F 5 "танталовый тип B" H 6100 4600 60 0001 C CNN "Type" | ||
1079 | 239 | F 6 "-16 В-" H 6100 4600 60 0001 C CNN "SType" | ||
1080 | 240 | F 7 "20%" H 6100 4600 60 0001 C CNN "Precision" | ||
1081 | 241 | F 8 "Panasonic" H 6100 4600 60 0001 C CNN "Manufacturer" | ||
1082 | 242 | F 9 "Не устанавливается" H 6100 4600 60 0001 C CNN "Note" | ||
1083 | 243 | 1 6100 4600 | ||
1084 | 244 | 1 0 0 -1 | ||
1085 | 245 | $EndComp | ||
1086 | 246 | Wire Wire Line | ||
1087 | 247 | 5700 4800 6100 4800 | ||
1088 | 248 | Wire Wire Line | ||
1089 | 249 | 5700 4400 6100 4400 | ||
1090 | 250 | $EndSCHEMATC | ||
1091 | 0 | 251 | ||
1092 | === added directory 'eeschema/BOM' | |||
1093 | === added file 'eeschema/BOM/BOM_lister.h' | |||
1094 | --- eeschema/BOM/BOM_lister.h 1970-01-01 00:00:00 +0000 | |||
1095 | +++ eeschema/BOM/BOM_lister.h 2015-06-20 07:42:20 +0000 | |||
1096 | @@ -0,0 +1,190 @@ | |||
1097 | 1 | /** | ||
1098 | 2 | * @file BOM_lister.h | ||
1099 | 3 | */ | ||
1100 | 4 | |||
1101 | 5 | /* This program source code file is part of KiCad, a free EDA CAD application. | ||
1102 | 6 | * | ||
1103 | 7 | * Copyright (C) 2012 Jean-Pierre Charras jp.charras at wanadoo.fr | ||
1104 | 8 | * Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors. | ||
1105 | 9 | * | ||
1106 | 10 | * This program is free software; you can redistribute it and/or | ||
1107 | 11 | * modify it under the terms of the GNU General Public License | ||
1108 | 12 | * as published by the Free Software Foundation; either version 2 | ||
1109 | 13 | * of the License, or (at your option) any later version. | ||
1110 | 14 | * | ||
1111 | 15 | * This program is distributed in the hope that it will be useful, | ||
1112 | 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1113 | 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1114 | 18 | * GNU General Public License for more details. | ||
1115 | 19 | * | ||
1116 | 20 | * You should have received a copy of the GNU General Public License | ||
1117 | 21 | * along with this program; if not, you may find one here: | ||
1118 | 22 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html | ||
1119 | 23 | * or you may search the http://www.gnu.org website for the version 2 license, | ||
1120 | 24 | * or you may write to the Free Software Foundation, Inc., | ||
1121 | 25 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA | ||
1122 | 26 | */ | ||
1123 | 27 | |||
1124 | 28 | #ifndef _BOM_LISTER_H_ | ||
1125 | 29 | #define _BOM_LISTER_H_ | ||
1126 | 30 | |||
1127 | 31 | #include <sch_reference_list.h> | ||
1128 | 32 | |||
1129 | 33 | |||
1130 | 34 | // A helper class to build item lists for BOM, | ||
1131 | 35 | // and write lists on files | ||
1132 | 36 | class BOM_LISTER | ||
1133 | 37 | { | ||
1134 | 38 | private: | ||
1135 | 39 | BOM_LABEL_LIST m_labelList; // a list of global and hierarchical labels | ||
1136 | 40 | PART_LIBS* m_libs; | ||
1137 | 41 | SCH_REFERENCE_LIST m_cmplist; // a flat list of components in the full hierarchy | ||
1138 | 42 | FILE* m_outFile; // the output file for BOM generation | ||
1139 | 43 | char m_separatorSymbol; // the separator used for csv files ( usually \t ; or , ) | ||
1140 | 44 | bool m_outputFmtCsv; // true to create Csv files, false to create text lists | ||
1141 | 45 | bool m_includeSubComponents; // true to list each part | ||
1142 | 46 | // of a multiple part per package component | ||
1143 | 47 | // false to list only once this kind of component | ||
1144 | 48 | bool m_csvForm; // true to print less verbose component list | ||
1145 | 49 | // false to print more verbose component list | ||
1146 | 50 | bool m_groupReferences; // true to group in list by reference (when possible, | ||
1147 | 51 | // i.e. when other fields have the same value | ||
1148 | 52 | // false to list one reference per line | ||
1149 | 53 | bool m_printLocation; // true to print component location in list by reference | ||
1150 | 54 | std::vector <int> m_fieldIDactive; // list of field IDs to print | ||
1151 | 55 | |||
1152 | 56 | public: | ||
1153 | 57 | BOM_LISTER( PART_LIBS* aLibs ) | ||
1154 | 58 | { | ||
1155 | 59 | m_outFile = NULL; | ||
1156 | 60 | m_separatorSymbol = '\t'; | ||
1157 | 61 | m_outputFmtCsv = false; | ||
1158 | 62 | m_includeSubComponents = false; | ||
1159 | 63 | m_csvForm = true; | ||
1160 | 64 | m_printLocation = false; | ||
1161 | 65 | m_groupReferences = false; | ||
1162 | 66 | m_libs = aLibs; | ||
1163 | 67 | } | ||
1164 | 68 | |||
1165 | 69 | // Accessors: | ||
1166 | 70 | void SetGroupReferences( bool aGroupRef ) | ||
1167 | 71 | { | ||
1168 | 72 | m_groupReferences = aGroupRef; | ||
1169 | 73 | } | ||
1170 | 74 | |||
1171 | 75 | void SetPrintLocation( bool aPrintLoc ) | ||
1172 | 76 | { | ||
1173 | 77 | m_printLocation = aPrintLoc; | ||
1174 | 78 | } | ||
1175 | 79 | |||
1176 | 80 | void SetIncludeSubCmp( bool aIncludeSubCmp ) | ||
1177 | 81 | { | ||
1178 | 82 | m_includeSubComponents = aIncludeSubCmp; | ||
1179 | 83 | } | ||
1180 | 84 | |||
1181 | 85 | /** | ||
1182 | 86 | * Function SetCvsFormOn | ||
1183 | 87 | * prepare parameters to create a BOM list in comma separated value (cvs) | ||
1184 | 88 | * @param aSeparator = the character used as "csv" separator | ||
1185 | 89 | */ | ||
1186 | 90 | void SetCvsFormOn( char aSeparator ) | ||
1187 | 91 | { | ||
1188 | 92 | m_csvForm = true; | ||
1189 | 93 | m_separatorSymbol = aSeparator; | ||
1190 | 94 | } | ||
1191 | 95 | |||
1192 | 96 | /** | ||
1193 | 97 | * Function SetCvsFormOff | ||
1194 | 98 | * prepare parameters to create a BOM list in full text readable mode | ||
1195 | 99 | * (not csv format) | ||
1196 | 100 | */ | ||
1197 | 101 | void SetCvsFormOff() | ||
1198 | 102 | { | ||
1199 | 103 | m_csvForm = false; | ||
1200 | 104 | } | ||
1201 | 105 | |||
1202 | 106 | void AddFieldIdToPrintList( int aFieldId ); | ||
1203 | 107 | |||
1204 | 108 | void ClearFieldIdPrintList() { m_fieldIDactive.clear(); } | ||
1205 | 109 | |||
1206 | 110 | /** | ||
1207 | 111 | * Function CreateCsvBOMListByValues | ||
1208 | 112 | * print the list of components, grouped by values: | ||
1209 | 113 | * One line by value. The format is something like: | ||
1210 | 114 | * value;quantity;references;other fields | ||
1211 | 115 | * 18pF;2;"C404 C405";SM0402 | ||
1212 | 116 | * 22nF/25V;4;"C128 C168 C228 C268";SM0402 | ||
1213 | 117 | * @param aFile = the file to write to (will be closed) | ||
1214 | 118 | */ | ||
1215 | 119 | void CreateCsvBOMListByValues( FILE* aFile ); | ||
1216 | 120 | |||
1217 | 121 | /** | ||
1218 | 122 | * Function PrintGlobalAndHierarchicalLabelsList | ||
1219 | 123 | * print the list of global and hierarchical labels by sheet or by name | ||
1220 | 124 | * @param aSortBySheet = true to print by sheet name order | ||
1221 | 125 | * false to print by label name order | ||
1222 | 126 | * @param aFile = the file to write to (will be NOT closed) | ||
1223 | 127 | */ | ||
1224 | 128 | void PrintGlobalAndHierarchicalLabelsList( FILE* aFile, bool aSortBySheet ); | ||
1225 | 129 | |||
1226 | 130 | /** | ||
1227 | 131 | * Function PrintComponentsListByReferenceHumanReadable | ||
1228 | 132 | * print a BOM list in human readable form | ||
1229 | 133 | * @param aFile = the file to write to (will be NOT closed) | ||
1230 | 134 | */ | ||
1231 | 135 | bool PrintComponentsListByReferenceHumanReadable( FILE* aFile ); | ||
1232 | 136 | |||
1233 | 137 | /** | ||
1234 | 138 | * Function PrintComponentsListByReferenceCsvForm | ||
1235 | 139 | * print the list of components ordered by references. Generate 2 formats: | ||
1236 | 140 | * - full component list in csv form | ||
1237 | 141 | * - "short" component list in csv form, grouped by common fields values | ||
1238 | 142 | * (mainly component value) | ||
1239 | 143 | * @param aFile = the file to write to (will be NOT closed) | ||
1240 | 144 | */ | ||
1241 | 145 | bool PrintComponentsListByReferenceCsvForm( FILE* aFile ); | ||
1242 | 146 | |||
1243 | 147 | /** | ||
1244 | 148 | * Function PrintComponentsListByValue | ||
1245 | 149 | * print the list of components, sorted by value, one line per component | ||
1246 | 150 | * not useable for csv format (use CreateCsvBOMListByValues instead) | ||
1247 | 151 | * @param aFile = the file to write to (will be NOT closed) | ||
1248 | 152 | */ | ||
1249 | 153 | int PrintComponentsListByValue( FILE* aFile ); | ||
1250 | 154 | |||
1251 | 155 | private: | ||
1252 | 156 | |||
1253 | 157 | /** | ||
1254 | 158 | * Helper function isFieldPrintable | ||
1255 | 159 | * @return true if the field aFieldId should be printed. | ||
1256 | 160 | * @param aFieldId = the field Id (FOOTPRIN, FIELD4 ...) | ||
1257 | 161 | */ | ||
1258 | 162 | bool isFieldPrintable( int aFieldId ); | ||
1259 | 163 | |||
1260 | 164 | /** | ||
1261 | 165 | * Helper function buildGlobalAndHierarchicalLabelsList | ||
1262 | 166 | * Populate m_labelList with global and hierarchical labels | ||
1263 | 167 | * and sheet pins labels | ||
1264 | 168 | */ | ||
1265 | 169 | void buildGlobalAndHierarchicalLabelsList(); | ||
1266 | 170 | |||
1267 | 171 | /** | ||
1268 | 172 | * Helper function returnFieldsString | ||
1269 | 173 | * @return a string containing all selected fields texts, | ||
1270 | 174 | * @param aComponent = the schematic component | ||
1271 | 175 | * separated by the csv separator symbol | ||
1272 | 176 | */ | ||
1273 | 177 | const wxString returnFieldsString( SCH_COMPONENT* aComponent ); | ||
1274 | 178 | |||
1275 | 179 | /** | ||
1276 | 180 | * Helper function returnURLItemLocation | ||
1277 | 181 | * @param aPathName = the full sheet name of item | ||
1278 | 182 | * @param aPosition = a position (in internal units) to print | ||
1279 | 183 | * @return a formated string to print the full location: | ||
1280 | 184 | * /sheet name/( X Y position) | ||
1281 | 185 | */ | ||
1282 | 186 | const wxString returnURLItemLocation( const wxString& aPathName, | ||
1283 | 187 | wxPoint aPosition ); | ||
1284 | 188 | }; | ||
1285 | 189 | |||
1286 | 190 | #endif // _BOM_LISTER_H_ | ||
1287 | 0 | 191 | ||
1288 | === added file 'eeschema/BOM/build_BOM.cpp' | |||
1289 | --- eeschema/BOM/build_BOM.cpp 1970-01-01 00:00:00 +0000 | |||
1290 | +++ eeschema/BOM/build_BOM.cpp 2015-06-20 07:42:20 +0000 | |||
1291 | @@ -0,0 +1,736 @@ | |||
1292 | 1 | /* | ||
1293 | 2 | * This program source code file is part of KiCad, a free EDA CAD application. | ||
1294 | 3 | * | ||
1295 | 4 | * Copyright (C) 2012 Jean-Pierre Charras, jp.charras at wanadoo.fr | ||
1296 | 5 | * Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net> | ||
1297 | 6 | * Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors. | ||
1298 | 7 | * | ||
1299 | 8 | * This program is free software; you can redistribute it and/or | ||
1300 | 9 | * modify it under the terms of the GNU General Public License | ||
1301 | 10 | * as published by the Free Software Foundation; either version 2 | ||
1302 | 11 | * of the License, or (at your option) any later version. | ||
1303 | 12 | * | ||
1304 | 13 | * This program is distributed in the hope that it will be useful, | ||
1305 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1306 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1307 | 16 | * GNU General Public License for more details. | ||
1308 | 17 | * | ||
1309 | 18 | * You should have received a copy of the GNU General Public License | ||
1310 | 19 | * along with this program; if not, you may find one here: | ||
1311 | 20 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html | ||
1312 | 21 | * or you may search the http://www.gnu.org website for the version 2 license, | ||
1313 | 22 | * or you may write to the Free Software Foundation, Inc., | ||
1314 | 23 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA | ||
1315 | 24 | */ | ||
1316 | 25 | |||
1317 | 26 | /** | ||
1318 | 27 | * @file build_BOM.cpp | ||
1319 | 28 | * @brief Code used to generate bill of materials. | ||
1320 | 29 | */ | ||
1321 | 30 | |||
1322 | 31 | #include <algorithm> // to use sort vector | ||
1323 | 32 | #include <vector> | ||
1324 | 33 | |||
1325 | 34 | #include <fctsys.h> | ||
1326 | 35 | #include <sch_sheet.h> | ||
1327 | 36 | #include <sch_component.h> | ||
1328 | 37 | #include <template_fieldnames.h> | ||
1329 | 38 | #include <class_library.h> | ||
1330 | 39 | #include <base_units.h> | ||
1331 | 40 | |||
1332 | 41 | #include <BOM_lister.h> | ||
1333 | 42 | |||
1334 | 43 | /* Creates the list of components, grouped by values: | ||
1335 | 44 | * One line by value. The format is something like: | ||
1336 | 45 | * value;quantity;references;other fields | ||
1337 | 46 | * 18pF;2;"C404 C405";SM0402 | ||
1338 | 47 | * 22nF/25V;4;"C128 C168 C228 C268";SM0402 | ||
1339 | 48 | * param aFile = the file to write to (will be closed) | ||
1340 | 49 | */ | ||
1341 | 50 | void BOM_LISTER::CreateCsvBOMListByValues( FILE* aFile ) | ||
1342 | 51 | { | ||
1343 | 52 | m_outFile = aFile; | ||
1344 | 53 | |||
1345 | 54 | SCH_SHEET_LIST sheetList; | ||
1346 | 55 | |||
1347 | 56 | sheetList.GetComponents( m_libs, m_cmplist, false ); | ||
1348 | 57 | |||
1349 | 58 | // sort component list by ref and remove sub components | ||
1350 | 59 | m_cmplist.RemoveSubComponentsFromList(); | ||
1351 | 60 | |||
1352 | 61 | // sort component list by value | ||
1353 | 62 | m_cmplist.SortByValueOnly(); | ||
1354 | 63 | |||
1355 | 64 | unsigned int index = 0; | ||
1356 | 65 | |||
1357 | 66 | while( index < m_cmplist.GetCount() ) | ||
1358 | 67 | { | ||
1359 | 68 | SCH_COMPONENT* component = m_cmplist[index].GetComp(); | ||
1360 | 69 | wxString referenceListStr; | ||
1361 | 70 | int qty = 1; | ||
1362 | 71 | referenceListStr.append( m_cmplist[index].GetRef() ); | ||
1363 | 72 | |||
1364 | 73 | for( unsigned int ii = index + 1; ii < m_cmplist.GetCount(); ) | ||
1365 | 74 | { | ||
1366 | 75 | if( *( m_cmplist[ii].GetComp() ) == *component ) | ||
1367 | 76 | { | ||
1368 | 77 | referenceListStr.append( wxT( " " ) + m_cmplist[ii].GetRef() ); | ||
1369 | 78 | m_cmplist.RemoveItem( ii ); | ||
1370 | 79 | qty++; | ||
1371 | 80 | } | ||
1372 | 81 | else | ||
1373 | 82 | ii++; // Increment index only when current item is not removed from the list | ||
1374 | 83 | } | ||
1375 | 84 | |||
1376 | 85 | // Write value, quantity and list of references | ||
1377 | 86 | fprintf( m_outFile, "%s%c%d%c\"%s\"", | ||
1378 | 87 | TO_UTF8( component->GetField( VALUE )->GetText() ), | ||
1379 | 88 | m_separatorSymbol, qty, | ||
1380 | 89 | m_separatorSymbol, TO_UTF8( referenceListStr ) ); | ||
1381 | 90 | |||
1382 | 91 | for( int ii = FOOTPRINT; ii < component->GetFieldCount(); ii++ ) | ||
1383 | 92 | { | ||
1384 | 93 | if( isFieldPrintable( ii ) ) | ||
1385 | 94 | fprintf( m_outFile, "%c%s", m_separatorSymbol, | ||
1386 | 95 | TO_UTF8( component->GetField( ii )->GetText() ) ); | ||
1387 | 96 | } | ||
1388 | 97 | |||
1389 | 98 | fprintf( m_outFile, "\n" ); | ||
1390 | 99 | index++; | ||
1391 | 100 | } | ||
1392 | 101 | |||
1393 | 102 | fclose( m_outFile ); | ||
1394 | 103 | m_outFile = NULL; | ||
1395 | 104 | } | ||
1396 | 105 | |||
1397 | 106 | |||
1398 | 107 | bool BOM_LISTER::isFieldPrintable( int aFieldId ) | ||
1399 | 108 | { | ||
1400 | 109 | for( unsigned ii = 0; ii < m_fieldIDactive.size(); ii++ ) | ||
1401 | 110 | if( m_fieldIDactive[ii] == aFieldId ) | ||
1402 | 111 | return true; | ||
1403 | 112 | |||
1404 | 113 | |||
1405 | 114 | |||
1406 | 115 | |||
1407 | 116 | return false; | ||
1408 | 117 | } | ||
1409 | 118 | |||
1410 | 119 | |||
1411 | 120 | void BOM_LISTER::AddFieldIdToPrintList( int aFieldId ) | ||
1412 | 121 | { | ||
1413 | 122 | for( unsigned ii = 0; ii < m_fieldIDactive.size(); ii++ ) | ||
1414 | 123 | if( m_fieldIDactive[ii] == aFieldId ) | ||
1415 | 124 | return; | ||
1416 | 125 | |||
1417 | 126 | |||
1418 | 127 | |||
1419 | 128 | |||
1420 | 129 | m_fieldIDactive.push_back( aFieldId ); | ||
1421 | 130 | } | ||
1422 | 131 | |||
1423 | 132 | |||
1424 | 133 | /* compare function for sorting labels by value, then by sheet | ||
1425 | 134 | */ | ||
1426 | 135 | static bool SortLabelsByValue( const BOM_LABEL& obj1, const BOM_LABEL& obj2 ) | ||
1427 | 136 | { | ||
1428 | 137 | int ii = obj1.GetText().CmpNoCase( obj2.GetText() ); | ||
1429 | 138 | |||
1430 | 139 | if( ii == 0 ) | ||
1431 | 140 | ii = obj1.GetSheetPath().Cmp( obj2.GetSheetPath() ); | ||
1432 | 141 | |||
1433 | 142 | return ii < 0; | ||
1434 | 143 | } | ||
1435 | 144 | |||
1436 | 145 | |||
1437 | 146 | /* compare function for sorting labels by sheet, then by alphabetic order | ||
1438 | 147 | */ | ||
1439 | 148 | static bool SortLabelsBySheet( const BOM_LABEL& obj1, const BOM_LABEL& obj2 ) | ||
1440 | 149 | { | ||
1441 | 150 | int ii = obj1.GetSheetPath().Cmp( obj2.GetSheetPath() ); | ||
1442 | 151 | |||
1443 | 152 | if( ii == 0 ) | ||
1444 | 153 | ii = obj1.GetText().CmpNoCase( obj2.GetText() ); | ||
1445 | 154 | |||
1446 | 155 | return ii < 0; | ||
1447 | 156 | } | ||
1448 | 157 | |||
1449 | 158 | |||
1450 | 159 | // Creates the flat list of global, hierachycal labels and pin sheets | ||
1451 | 160 | // and populate m_labelList | ||
1452 | 161 | void BOM_LISTER::buildGlobalAndHierarchicalLabelsList() | ||
1453 | 162 | { | ||
1454 | 163 | m_labelList.clear(); | ||
1455 | 164 | |||
1456 | 165 | // Explore the flat sheet list | ||
1457 | 166 | SCH_SHEET_LIST sheetList; | ||
1458 | 167 | |||
1459 | 168 | for( SCH_SHEET_PATH* path = sheetList.GetFirst(); path; path = sheetList.GetNext() ) | ||
1460 | 169 | { | ||
1461 | 170 | SCH_ITEM* schItem = (SCH_ITEM*) path->LastDrawList(); | ||
1462 | 171 | |||
1463 | 172 | for( ; schItem; schItem = schItem->Next() ) | ||
1464 | 173 | { | ||
1465 | 174 | switch( schItem->Type() ) | ||
1466 | 175 | { | ||
1467 | 176 | case SCH_HIERARCHICAL_LABEL_T: | ||
1468 | 177 | case SCH_GLOBAL_LABEL_T: | ||
1469 | 178 | m_labelList.push_back( BOM_LABEL( schItem->Type(), schItem, *path ) ); | ||
1470 | 179 | break; | ||
1471 | 180 | |||
1472 | 181 | case SCH_SHEET_T: | ||
1473 | 182 | { | ||
1474 | 183 | SCH_SHEET* sheet = (SCH_SHEET*) schItem; | ||
1475 | 184 | |||
1476 | 185 | BOOST_FOREACH( SCH_SHEET_PIN & sheetPin, sheet->GetPins() ) { | ||
1477 | 186 | m_labelList.push_back( BOM_LABEL( SCH_SHEET_PIN_T, | ||
1478 | 187 | &sheetPin, *path ) ); | ||
1479 | 188 | } | ||
1480 | 189 | } | ||
1481 | 190 | break; | ||
1482 | 191 | |||
1483 | 192 | default: | ||
1484 | 193 | break; | ||
1485 | 194 | } | ||
1486 | 195 | } | ||
1487 | 196 | } | ||
1488 | 197 | } | ||
1489 | 198 | |||
1490 | 199 | |||
1491 | 200 | // Print the flat list of global, hierachycal labels and pin sheets | ||
1492 | 201 | // contained by m_labelList | ||
1493 | 202 | void BOM_LISTER::PrintGlobalAndHierarchicalLabelsList( FILE* aFile, bool aSortBySheet ) | ||
1494 | 203 | { | ||
1495 | 204 | m_outFile = aFile; | ||
1496 | 205 | |||
1497 | 206 | buildGlobalAndHierarchicalLabelsList(); | ||
1498 | 207 | |||
1499 | 208 | wxString msg; | ||
1500 | 209 | |||
1501 | 210 | if( aSortBySheet ) | ||
1502 | 211 | { | ||
1503 | 212 | sort( m_labelList.begin(), m_labelList.end(), SortLabelsBySheet ); | ||
1504 | 213 | msg.Printf( _( | ||
1505 | 214 | "\n#Global, Hierarchical Labels and PinSheets \ | ||
1506 | 215 | ( order = Sheet Number ) count = %d\n" ), | ||
1507 | 216 | m_labelList.size() ); | ||
1508 | 217 | } | ||
1509 | 218 | else | ||
1510 | 219 | { | ||
1511 | 220 | sort( m_labelList.begin(), m_labelList.end(), SortLabelsByValue ); | ||
1512 | 221 | msg.Printf( _( | ||
1513 | 222 | "\n#Global, Hierarchical Labels and PinSheets ( \ | ||
1514 | 223 | order = Alphab. ) count = %d\n\n" ), | ||
1515 | 224 | m_labelList.size() ); | ||
1516 | 225 | } | ||
1517 | 226 | |||
1518 | 227 | fprintf( m_outFile, "%s", TO_UTF8( msg ) ); | ||
1519 | 228 | |||
1520 | 229 | SCH_LABEL* label; | ||
1521 | 230 | SCH_SHEET_PIN* pinsheet; | ||
1522 | 231 | wxString sheetpath; | ||
1523 | 232 | wxString labeltype; | ||
1524 | 233 | |||
1525 | 234 | for( unsigned ii = 0; ii < m_labelList.size(); ii++ ) | ||
1526 | 235 | { | ||
1527 | 236 | switch( m_labelList[ii].GetType() ) | ||
1528 | 237 | { | ||
1529 | 238 | case SCH_HIERARCHICAL_LABEL_T: | ||
1530 | 239 | case SCH_GLOBAL_LABEL_T: | ||
1531 | 240 | label = (SCH_LABEL*) ( m_labelList[ii].GetLabel() ); | ||
1532 | 241 | |||
1533 | 242 | if( m_labelList[ii].GetType() == SCH_HIERARCHICAL_LABEL_T ) | ||
1534 | 243 | labeltype = wxT( "Hierarchical" ); | ||
1535 | 244 | else | ||
1536 | 245 | labeltype = wxT( "Global " ); | ||
1537 | 246 | |||
1538 | 247 | sheetpath = m_labelList[ii].GetSheetPath().PathHumanReadable(); | ||
1539 | 248 | msg.Printf( wxT( "> %-28.28s %s %s\n" ), | ||
1540 | 249 | GetChars( label->GetText() ), | ||
1541 | 250 | GetChars( labeltype ), | ||
1542 | 251 | GetChars( returnURLItemLocation( sheetpath, label->GetPosition() ) ) ); | ||
1543 | 252 | |||
1544 | 253 | fputs( TO_UTF8( msg ), m_outFile ); | ||
1545 | 254 | break; | ||
1546 | 255 | |||
1547 | 256 | case SCH_SHEET_PIN_T: | ||
1548 | 257 | pinsheet = (SCH_SHEET_PIN*) m_labelList[ii].GetLabel(); | ||
1549 | 258 | labeltype = FROM_UTF8( SheetLabelType[pinsheet->GetShape()] ); | ||
1550 | 259 | |||
1551 | 260 | msg.Printf( _( "> %-28.28s PinSheet %-7.7s %s\n" ), | ||
1552 | 261 | GetChars( pinsheet->GetText() ), | ||
1553 | 262 | GetChars( labeltype ), | ||
1554 | 263 | GetChars( returnURLItemLocation( m_labelList[ii].GetSheetPath(). | ||
1555 | 264 | PathHumanReadable(), | ||
1556 | 265 | pinsheet->GetPosition() ) ) ); | ||
1557 | 266 | |||
1558 | 267 | fputs( TO_UTF8( msg ), m_outFile ); | ||
1559 | 268 | break; | ||
1560 | 269 | |||
1561 | 270 | default: | ||
1562 | 271 | break; | ||
1563 | 272 | } | ||
1564 | 273 | } | ||
1565 | 274 | |||
1566 | 275 | msg = _( "#End labels\n" ); | ||
1567 | 276 | fputs( TO_UTF8( msg ), m_outFile ); | ||
1568 | 277 | } | ||
1569 | 278 | |||
1570 | 279 | |||
1571 | 280 | /* | ||
1572 | 281 | * Helper function | ||
1573 | 282 | * returns a string containing all selected fields texts, | ||
1574 | 283 | * separated by the csv separator symbol (csv form) or a ; | ||
1575 | 284 | */ | ||
1576 | 285 | const wxString BOM_LISTER::returnFieldsString( SCH_COMPONENT* aComponent ) | ||
1577 | 286 | { | ||
1578 | 287 | wxString outStr; | ||
1579 | 288 | wxString tmpStr; | ||
1580 | 289 | wxString text; | ||
1581 | 290 | |||
1582 | 291 | for( int ii = FOOTPRINT; ii <= FIELD8; ii++ ) | ||
1583 | 292 | { | ||
1584 | 293 | if( !isFieldPrintable( ii ) ) | ||
1585 | 294 | continue; | ||
1586 | 295 | |||
1587 | 296 | if( aComponent->GetFieldCount() > ii ) | ||
1588 | 297 | text = aComponent->GetField( ii )->GetText(); | ||
1589 | 298 | else | ||
1590 | 299 | text = wxEmptyString; | ||
1591 | 300 | |||
1592 | 301 | if( m_csvForm ) | ||
1593 | 302 | tmpStr.Printf( wxT( "%c%s" ), m_separatorSymbol, GetChars( text ) ); | ||
1594 | 303 | else | ||
1595 | 304 | tmpStr.Printf( wxT( "; %-12s" ), GetChars( text ) ); | ||
1596 | 305 | |||
1597 | 306 | outStr += tmpStr; | ||
1598 | 307 | } | ||
1599 | 308 | |||
1600 | 309 | return outStr; | ||
1601 | 310 | } | ||
1602 | 311 | |||
1603 | 312 | |||
1604 | 313 | /* print the list of components ordered by references, | ||
1605 | 314 | * full component list in human readable form | ||
1606 | 315 | * param aFile = the file to write to (will be NOT closed) | ||
1607 | 316 | */ | ||
1608 | 317 | |||
1609 | 318 | /* full list in human readable form sample: | ||
1610 | 319 | * #Cmp ( order = Reference )with sub-composants | ||
1611 | 320 | * | C101 47pF Loc /(X=344,170 mm, Y=116,840 mm); C1 ; field1 ; | ||
1612 | 321 | * | C102 47pF Loc /(X=364,490 mm, Y=116,840 mm); C1 ; ; | ||
1613 | 322 | * | C103 47uF Loc /(X=66,040 mm, Y=231,140 mm); CP6 ; ; | ||
1614 | 323 | */ | ||
1615 | 324 | |||
1616 | 325 | bool BOM_LISTER::PrintComponentsListByReferenceHumanReadable( FILE* aFile ) | ||
1617 | 326 | { | ||
1618 | 327 | m_outFile = aFile; | ||
1619 | 328 | bool addDatasheet = isFieldPrintable( DATASHEET ); | ||
1620 | 329 | |||
1621 | 330 | // Print component location if needed, but only when | ||
1622 | 331 | // include sub component option is enabled, because for multiple | ||
1623 | 332 | // parts per package there are more than one location per reference | ||
1624 | 333 | bool printLocCmp = m_printLocation && m_includeSubComponents; | ||
1625 | 334 | |||
1626 | 335 | wxString msg; | ||
1627 | 336 | |||
1628 | 337 | if( m_cmplist.GetCount() == 0 ) // Build component list | ||
1629 | 338 | { | ||
1630 | 339 | SCH_SHEET_LIST sheetList; | ||
1631 | 340 | sheetList.GetComponents( m_libs, m_cmplist, false ); | ||
1632 | 341 | |||
1633 | 342 | // sort component list | ||
1634 | 343 | m_cmplist.SortByReferenceOnly(); | ||
1635 | 344 | |||
1636 | 345 | if( !m_includeSubComponents ) | ||
1637 | 346 | m_cmplist.RemoveSubComponentsFromList(); | ||
1638 | 347 | } | ||
1639 | 348 | else | ||
1640 | 349 | m_cmplist.SortByReferenceOnly(); | ||
1641 | 350 | |||
1642 | 351 | // Print comment line: | ||
1643 | 352 | msg = _( "#Cmp ( order = Reference )" ); | ||
1644 | 353 | |||
1645 | 354 | if( m_includeSubComponents ) | ||
1646 | 355 | msg << _( " (with SubCmp)" ); | ||
1647 | 356 | |||
1648 | 357 | fprintf( m_outFile, "%s\n", TO_UTF8( msg ) ); | ||
1649 | 358 | |||
1650 | 359 | wxString subReference; // Unit ident, for mutiple parts per package | ||
1651 | 360 | std::string CmpName; | ||
1652 | 361 | |||
1653 | 362 | // Print list of items | ||
1654 | 363 | for( unsigned ii = 0; ii < m_cmplist.GetCount(); ii++ ) | ||
1655 | 364 | { | ||
1656 | 365 | EDA_ITEM* item = m_cmplist[ii].GetComp(); | ||
1657 | 366 | |||
1658 | 367 | if( item == NULL ) | ||
1659 | 368 | continue; | ||
1660 | 369 | |||
1661 | 370 | if( item->Type() != SCH_COMPONENT_T ) | ||
1662 | 371 | continue; | ||
1663 | 372 | |||
1664 | 373 | SCH_COMPONENT* comp = (SCH_COMPONENT*) item; | ||
1665 | 374 | |||
1666 | 375 | bool isMulti = false; | ||
1667 | 376 | |||
1668 | 377 | LIB_PART* entry = m_libs->FindLibPart( comp->GetPartName() ); | ||
1669 | 378 | |||
1670 | 379 | if( entry ) | ||
1671 | 380 | isMulti = entry->IsMulti(); | ||
1672 | 381 | |||
1673 | 382 | CmpName = m_cmplist[ii].GetRefStr(); | ||
1674 | 383 | |||
1675 | 384 | if( isMulti && m_includeSubComponents ) | ||
1676 | 385 | { | ||
1677 | 386 | subReference = LIB_PART::SubReference( m_cmplist[ii].GetUnit() ); | ||
1678 | 387 | CmpName += TO_UTF8( subReference ); | ||
1679 | 388 | } | ||
1680 | 389 | |||
1681 | 390 | fprintf( m_outFile, "| %-10s %-12s", CmpName.c_str(), | ||
1682 | 391 | TO_UTF8( comp->GetField( VALUE )->GetText() ) ); | ||
1683 | 392 | |||
1684 | 393 | if( addDatasheet ) | ||
1685 | 394 | fprintf( m_outFile, "%-20s", | ||
1686 | 395 | TO_UTF8( comp->GetField( DATASHEET )->GetText() ) ); | ||
1687 | 396 | |||
1688 | 397 | if( m_includeSubComponents ) | ||
1689 | 398 | { | ||
1690 | 399 | if( printLocCmp ) | ||
1691 | 400 | { | ||
1692 | 401 | msg = returnURLItemLocation( m_cmplist[ii].GetSheetPath().PathHumanReadable(), | ||
1693 | 402 | comp->GetPosition() ); | ||
1694 | 403 | fprintf( m_outFile, "%s", TO_UTF8( msg ) ); | ||
1695 | 404 | } | ||
1696 | 405 | } | ||
1697 | 406 | |||
1698 | 407 | wxString tmpStr = returnFieldsString( comp ); | ||
1699 | 408 | fprintf( m_outFile, "%s\n", TO_UTF8( tmpStr ) ); | ||
1700 | 409 | } | ||
1701 | 410 | |||
1702 | 411 | // Print the last line: | ||
1703 | 412 | fputs( "#End Cmp\n", m_outFile ); | ||
1704 | 413 | |||
1705 | 414 | return true; | ||
1706 | 415 | } | ||
1707 | 416 | |||
1708 | 417 | |||
1709 | 418 | /* print the list of components ordered by references. Generate 2 formats: | ||
1710 | 419 | * - full component list in csv form | ||
1711 | 420 | * - "short" component list in csv form, grouped by common fields values | ||
1712 | 421 | * (mainly component value) | ||
1713 | 422 | * param aFile = the file to write to (will be NOT closed) | ||
1714 | 423 | */ | ||
1715 | 424 | |||
1716 | 425 | /* full csv format sample: | ||
1717 | 426 | * ref;value;sheet path(location);footprint;field1;field2 | ||
1718 | 427 | * C101;47pF;Loc /(X=57,150 mm, Y=74,930 mm);Loc /(X=344,170 mm, Y=116,840 mm));C1;field1; | ||
1719 | 428 | * C102;47pF;Loc /(X=344,170 mm, Y=116,840 mm);Loc /(X=364,490 mm, Y=116,840 mm));C1;; | ||
1720 | 429 | * C103;47uF;Loc /(X=364,490 mm, Y=116,840 mm);Loc /(X=66,040 mm, Y=231,140 mm));CP6;; | ||
1721 | 430 | * C104;47uF;Loc /(X=66,040 mm, Y=231,140 mm);Loc /(X=82,550 mm, Y=231,140 mm));CP6;; | ||
1722 | 431 | */ | ||
1723 | 432 | /* short csv format sample: | ||
1724 | 433 | * ref;value;footprint;Champ1;Champ2 | ||
1725 | 434 | * C101;47pF;C1;field1;;1 | ||
1726 | 435 | * C102;47pF;C1;;;1 | ||
1727 | 436 | * C103..C106;47uF;CP6;;;4 | ||
1728 | 437 | */ | ||
1729 | 438 | |||
1730 | 439 | bool BOM_LISTER::PrintComponentsListByReferenceCsvForm( FILE* aFile ) | ||
1731 | 440 | { | ||
1732 | 441 | m_outFile = aFile; | ||
1733 | 442 | bool addDatasheet = isFieldPrintable( DATASHEET ); | ||
1734 | 443 | |||
1735 | 444 | // Set option group references, for components having same field values | ||
1736 | 445 | // (same value, same footprint ...) | ||
1737 | 446 | // obviously, this is possible only when print location | ||
1738 | 447 | // and include Sub Components are not enabled. | ||
1739 | 448 | bool groupRefs = m_groupReferences; | ||
1740 | 449 | bool includeSubComponents = m_includeSubComponents && !groupRefs; | ||
1741 | 450 | |||
1742 | 451 | // Print component location if needed, but only when | ||
1743 | 452 | // include sub component option is enabled, because for multiple | ||
1744 | 453 | // parts per package there are more than one location per reference | ||
1745 | 454 | bool printLocCmp = m_printLocation && !groupRefs && m_includeSubComponents; | ||
1746 | 455 | |||
1747 | 456 | wxString msg; | ||
1748 | 457 | |||
1749 | 458 | if( m_cmplist.GetCount() == 0 ) // Build component list | ||
1750 | 459 | { | ||
1751 | 460 | SCH_SHEET_LIST sheetList; | ||
1752 | 461 | sheetList.GetComponents( m_libs, m_cmplist, false ); | ||
1753 | 462 | |||
1754 | 463 | // sort component list | ||
1755 | 464 | m_cmplist.SortByReferenceOnly(); | ||
1756 | 465 | |||
1757 | 466 | if( !includeSubComponents ) | ||
1758 | 467 | m_cmplist.RemoveSubComponentsFromList(); | ||
1759 | 468 | } | ||
1760 | 469 | else | ||
1761 | 470 | m_cmplist.SortByReferenceOnly(); | ||
1762 | 471 | |||
1763 | 472 | // Print comment line: | ||
1764 | 473 | msg = wxT( "ref" ); | ||
1765 | 474 | msg << (wxChar)m_separatorSymbol << wxT( "value" ); | ||
1766 | 475 | |||
1767 | 476 | if( addDatasheet ) | ||
1768 | 477 | msg << (wxChar)m_separatorSymbol << wxT( "datasheet" ); | ||
1769 | 478 | |||
1770 | 479 | if( printLocCmp ) | ||
1771 | 480 | msg << (wxChar)m_separatorSymbol << wxT( "sheet path(location)" ); | ||
1772 | 481 | |||
1773 | 482 | if( isFieldPrintable( FOOTPRINT ) ) | ||
1774 | 483 | msg << (wxChar)m_separatorSymbol << wxT( "footprint" ); | ||
1775 | 484 | |||
1776 | 485 | for( int ii = FIELD1; ii <= FIELD8; ii++ ) | ||
1777 | 486 | { | ||
1778 | 487 | if( isFieldPrintable( ii ) ) | ||
1779 | 488 | msg << (wxChar)m_separatorSymbol << _( "Field" ) << ii - FIELD1 + 1; | ||
1780 | 489 | } | ||
1781 | 490 | |||
1782 | 491 | if( groupRefs ) | ||
1783 | 492 | msg << (wxChar)m_separatorSymbol << _( "Item count" ); | ||
1784 | 493 | |||
1785 | 494 | fprintf( m_outFile, "%s\n", TO_UTF8( msg ) ); | ||
1786 | 495 | |||
1787 | 496 | // Print BOM list | ||
1788 | 497 | wxString strCur; | ||
1789 | 498 | wxString strPred; | ||
1790 | 499 | int amount = 0; // number of items, on the same line | ||
1791 | 500 | wxString cmpName; | ||
1792 | 501 | wxString cmpNameFirst; | ||
1793 | 502 | wxString cmpNameLast; | ||
1794 | 503 | |||
1795 | 504 | // Print list of items, by reference | ||
1796 | 505 | for( unsigned ii = 0; ii < m_cmplist.GetCount(); ii++ ) | ||
1797 | 506 | { | ||
1798 | 507 | EDA_ITEM* item = m_cmplist[ii].GetComp(); | ||
1799 | 508 | |||
1800 | 509 | if( item == NULL ) | ||
1801 | 510 | continue; | ||
1802 | 511 | |||
1803 | 512 | if( item->Type() != SCH_COMPONENT_T ) | ||
1804 | 513 | continue; | ||
1805 | 514 | |||
1806 | 515 | SCH_COMPONENT* comp = (SCH_COMPONENT*) item; | ||
1807 | 516 | |||
1808 | 517 | LIB_PART* entry = m_libs->FindLibPart( comp->GetPartName() ); | ||
1809 | 518 | |||
1810 | 519 | bool isMulti = false; | ||
1811 | 520 | |||
1812 | 521 | if( entry ) | ||
1813 | 522 | isMulti = entry->IsMulti(); | ||
1814 | 523 | |||
1815 | 524 | cmpName = m_cmplist[ii].GetRef(); | ||
1816 | 525 | |||
1817 | 526 | if( isMulti && includeSubComponents ) | ||
1818 | 527 | // Add unit ident, for mutiple parts per package | ||
1819 | 528 | cmpName += LIB_PART::SubReference( m_cmplist[ii].GetUnit() ); | ||
1820 | 529 | |||
1821 | 530 | if( groupRefs ) | ||
1822 | 531 | { | ||
1823 | 532 | // Store value and datasheet (will be printed later) | ||
1824 | 533 | strCur.Empty(); | ||
1825 | 534 | strCur << (wxChar)m_separatorSymbol << comp->GetField( VALUE )->GetText(); | ||
1826 | 535 | |||
1827 | 536 | if( addDatasheet ) | ||
1828 | 537 | strCur << (wxChar)m_separatorSymbol << comp->GetField( DATASHEET )->GetText(); | ||
1829 | 538 | } | ||
1830 | 539 | else | ||
1831 | 540 | { | ||
1832 | 541 | // Print the current component reference, value and datasheet | ||
1833 | 542 | msg = cmpName; | ||
1834 | 543 | msg << (wxChar)m_separatorSymbol << comp->GetField( VALUE )->GetText(); | ||
1835 | 544 | |||
1836 | 545 | if( addDatasheet ) | ||
1837 | 546 | msg << (wxChar)m_separatorSymbol << comp->GetField( DATASHEET )->GetText(); | ||
1838 | 547 | |||
1839 | 548 | fprintf( m_outFile, "%s", TO_UTF8( msg ) ); | ||
1840 | 549 | } | ||
1841 | 550 | |||
1842 | 551 | if( printLocCmp ) // Is allowed only for full list (not grouped) | ||
1843 | 552 | { | ||
1844 | 553 | msg = returnURLItemLocation( | ||
1845 | 554 | m_cmplist[ii].GetSheetPath().PathHumanReadable(), | ||
1846 | 555 | comp->GetPosition() ); | ||
1847 | 556 | |||
1848 | 557 | fprintf( m_outFile, "%c%s", m_separatorSymbol, TO_UTF8( msg ) ); | ||
1849 | 558 | } | ||
1850 | 559 | |||
1851 | 560 | if( groupRefs ) | ||
1852 | 561 | { | ||
1853 | 562 | wxString tmpStr = returnFieldsString( comp ); | ||
1854 | 563 | strCur += tmpStr; | ||
1855 | 564 | |||
1856 | 565 | if( strPred.Len() == 0 ) | ||
1857 | 566 | cmpNameFirst = cmpName; | ||
1858 | 567 | else | ||
1859 | 568 | { | ||
1860 | 569 | // print a BOM line | ||
1861 | 570 | msg.Empty(); | ||
1862 | 571 | if( !strCur.IsSameAs( strPred ) ) | ||
1863 | 572 | { | ||
1864 | 573 | switch( amount ) | ||
1865 | 574 | { | ||
1866 | 575 | case 1: // One reference to print | ||
1867 | 576 | // format C103;47uF;CP6;;;1 | ||
1868 | 577 | msg << cmpNameFirst <<strPred << (wxChar)m_separatorSymbol << amount; | ||
1869 | 578 | break; | ||
1870 | 579 | |||
1871 | 580 | case 2: // 2 references to print | ||
1872 | 581 | // format C103,C104;47uF;CP6;;;2 | ||
1873 | 582 | msg << cmpNameFirst << wxT(",") << cmpNameLast | ||
1874 | 583 | << strPred << (wxChar)m_separatorSymbol << amount; | ||
1875 | 584 | break; | ||
1876 | 585 | |||
1877 | 586 | default: // Many references to print : | ||
1878 | 587 | // format: C103..C106;47uF;CP6;;;4 | ||
1879 | 588 | msg << cmpNameFirst << wxT("..") << cmpNameLast | ||
1880 | 589 | << strPred << (wxChar)m_separatorSymbol << amount; | ||
1881 | 590 | break; | ||
1882 | 591 | } | ||
1883 | 592 | fprintf( m_outFile, "%s\n", TO_UTF8( msg ) ); | ||
1884 | 593 | |||
1885 | 594 | cmpNameFirst = cmpName; | ||
1886 | 595 | amount = 0; | ||
1887 | 596 | } | ||
1888 | 597 | } | ||
1889 | 598 | |||
1890 | 599 | strPred = strCur; | ||
1891 | 600 | cmpNameLast = cmpName; | ||
1892 | 601 | amount++; | ||
1893 | 602 | } | ||
1894 | 603 | else | ||
1895 | 604 | { | ||
1896 | 605 | msg = returnFieldsString( comp ); | ||
1897 | 606 | fprintf( m_outFile, "%s\n", TO_UTF8( msg ) ); | ||
1898 | 607 | } | ||
1899 | 608 | } | ||
1900 | 609 | |||
1901 | 610 | // Print the last line: | ||
1902 | 611 | if( groupRefs ) | ||
1903 | 612 | { | ||
1904 | 613 | msg.Empty(); | ||
1905 | 614 | switch( amount ) | ||
1906 | 615 | { | ||
1907 | 616 | case 1: | ||
1908 | 617 | msg << cmpNameFirst << strPred << (wxChar)m_separatorSymbol << amount; | ||
1909 | 618 | break; | ||
1910 | 619 | |||
1911 | 620 | case 2: | ||
1912 | 621 | msg << cmpNameFirst << wxT(",") << cmpNameLast | ||
1913 | 622 | << strPred << (wxChar)m_separatorSymbol << amount; | ||
1914 | 623 | break; | ||
1915 | 624 | |||
1916 | 625 | default: | ||
1917 | 626 | msg << cmpNameFirst << wxT("..") << cmpNameFirst << cmpNameLast | ||
1918 | 627 | << strPred << (wxChar)m_separatorSymbol << amount; | ||
1919 | 628 | break; | ||
1920 | 629 | } | ||
1921 | 630 | fprintf( m_outFile, "%s\n", TO_UTF8( msg ) ); | ||
1922 | 631 | } | ||
1923 | 632 | |||
1924 | 633 | return true; | ||
1925 | 634 | } | ||
1926 | 635 | |||
1927 | 636 | |||
1928 | 637 | /* PrintComponentsListByValue | ||
1929 | 638 | * print the list of components, sorted by value, one line per component | ||
1930 | 639 | * param aFile = the file to write to (will be NOT closed) | ||
1931 | 640 | * not useable for csv format (use CreateCsvBOMListByValues instead) | ||
1932 | 641 | * format: | ||
1933 | 642 | * | 10pF C15 Loc /controle/(X=48,260 mm, Y=83,820 mm); <fields> | ||
1934 | 643 | * | 10pF C16 Loc /controle/(X=68,580 mm, Y=83,820 mm); <fields> | ||
1935 | 644 | */ | ||
1936 | 645 | int BOM_LISTER::PrintComponentsListByValue( FILE* aFile ) | ||
1937 | 646 | { | ||
1938 | 647 | m_outFile = aFile; | ||
1939 | 648 | |||
1940 | 649 | if( m_cmplist.GetCount() == 0 ) // Build component list | ||
1941 | 650 | { | ||
1942 | 651 | SCH_SHEET_LIST sheetList; | ||
1943 | 652 | sheetList.GetComponents( m_libs, m_cmplist, false ); | ||
1944 | 653 | |||
1945 | 654 | if( !m_includeSubComponents ) | ||
1946 | 655 | { | ||
1947 | 656 | // sort component list | ||
1948 | 657 | m_cmplist.SortByReferenceOnly(); | ||
1949 | 658 | m_cmplist.RemoveSubComponentsFromList(); | ||
1950 | 659 | } | ||
1951 | 660 | } | ||
1952 | 661 | |||
1953 | 662 | m_cmplist.SortByValueOnly(); | ||
1954 | 663 | |||
1955 | 664 | wxString msg; | ||
1956 | 665 | |||
1957 | 666 | msg = _( "\n#Cmp ( order = Value )" ); | ||
1958 | 667 | |||
1959 | 668 | if( m_includeSubComponents ) | ||
1960 | 669 | msg << _( " (with SubCmp)" ); | ||
1961 | 670 | |||
1962 | 671 | msg << wxT( "\n" ); | ||
1963 | 672 | |||
1964 | 673 | fputs( TO_UTF8( msg ), m_outFile ); | ||
1965 | 674 | |||
1966 | 675 | std::string cmpName; | ||
1967 | 676 | for( unsigned ii = 0; ii < m_cmplist.GetCount(); ii++ ) | ||
1968 | 677 | { | ||
1969 | 678 | EDA_ITEM* schItem = m_cmplist[ii].GetComp(); | ||
1970 | 679 | |||
1971 | 680 | if( schItem == NULL ) | ||
1972 | 681 | continue; | ||
1973 | 682 | |||
1974 | 683 | if( schItem->Type() != SCH_COMPONENT_T ) | ||
1975 | 684 | continue; | ||
1976 | 685 | |||
1977 | 686 | SCH_COMPONENT* drawLibItem = (SCH_COMPONENT*) schItem; | ||
1978 | 687 | |||
1979 | 688 | bool isMulti = false; | ||
1980 | 689 | LIB_PART* entry = m_libs->FindLibPart( drawLibItem->GetPartName() ); | ||
1981 | 690 | |||
1982 | 691 | if( entry ) | ||
1983 | 692 | isMulti = entry->IsMulti(); | ||
1984 | 693 | |||
1985 | 694 | cmpName = m_cmplist[ii].GetRefStr(); | ||
1986 | 695 | |||
1987 | 696 | if( isMulti && m_includeSubComponents ) | ||
1988 | 697 | // Add unit ident, for mutiple parts per package | ||
1989 | 698 | cmpName += TO_UTF8( LIB_PART::SubReference( m_cmplist[ii].GetUnit() ) ); | ||
1990 | 699 | |||
1991 | 700 | fprintf( m_outFile, "| %-12s %-10s", | ||
1992 | 701 | TO_UTF8( drawLibItem->GetField( VALUE )->GetText() ), | ||
1993 | 702 | cmpName.c_str() ); | ||
1994 | 703 | |||
1995 | 704 | // print the sheet path and location | ||
1996 | 705 | if( m_includeSubComponents ) | ||
1997 | 706 | { | ||
1998 | 707 | msg = returnURLItemLocation( m_cmplist[ii].GetSheetPath().PathHumanReadable(), | ||
1999 | 708 | drawLibItem->GetPosition() ); | ||
2000 | 709 | fprintf( m_outFile, "%s", TO_UTF8( msg ) ); | ||
2001 | 710 | } | ||
2002 | 711 | |||
2003 | 712 | fprintf( m_outFile, "%s\n", TO_UTF8( returnFieldsString( drawLibItem ) ) ); | ||
2004 | 713 | } | ||
2005 | 714 | |||
2006 | 715 | msg = _( "#End Cmp\n" ); | ||
2007 | 716 | fputs( TO_UTF8( msg ), m_outFile ); | ||
2008 | 717 | return 0; | ||
2009 | 718 | } | ||
2010 | 719 | |||
2011 | 720 | |||
2012 | 721 | /* returnURLItemLocation | ||
2013 | 722 | * return a formated string to print the full location: | ||
2014 | 723 | * <sheet name>/( X Y position) | ||
2015 | 724 | * param aPathName = the full sheet name of item | ||
2016 | 725 | * param aPosition = a position (in internal units) to print | ||
2017 | 726 | */ | ||
2018 | 727 | const wxString BOM_LISTER::returnURLItemLocation( const wxString& aPathName, | ||
2019 | 728 | wxPoint aPosition ) | ||
2020 | 729 | { | ||
2021 | 730 | wxString text; | ||
2022 | 731 | |||
2023 | 732 | text.Printf( wxT( "Loc %s(X=%s, Y=%s)" ), GetChars( aPathName ), | ||
2024 | 733 | GetChars( StringFromValue( g_UserUnit, aPosition.x, true ) ), | ||
2025 | 734 | GetChars( StringFromValue( g_UserUnit, aPosition.y, true ) ) ); | ||
2026 | 735 | return text; | ||
2027 | 736 | } | ||
2028 | 0 | 737 | ||
2029 | === added directory 'eeschema/BOM/dialogs' | |||
2030 | === added file 'eeschema/BOM/dialogs/dialog_build_BOM.cpp' | |||
2031 | --- eeschema/BOM/dialogs/dialog_build_BOM.cpp 1970-01-01 00:00:00 +0000 | |||
2032 | +++ eeschema/BOM/dialogs/dialog_build_BOM.cpp 2015-06-20 07:42:20 +0000 | |||
2033 | @@ -0,0 +1,592 @@ | |||
2034 | 1 | /* | ||
2035 | 2 | * This program source code file is part of KiCad, a free EDA CAD application. | ||
2036 | 3 | * | ||
2037 | 4 | * Copyright (C) 2012 Jean-Pierre Charras, jp.charras at wanadoo.fr | ||
2038 | 5 | * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. | ||
2039 | 6 | * | ||
2040 | 7 | * This program is free software; you can redistribute it and/or | ||
2041 | 8 | * modify it under the terms of the GNU General Public License | ||
2042 | 9 | * as published by the Free Software Foundation; either version 2 | ||
2043 | 10 | * of the License, or (at your option) any later version. | ||
2044 | 11 | * | ||
2045 | 12 | * This program is distributed in the hope that it will be useful, | ||
2046 | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2047 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2048 | 15 | * GNU General Public License for more details. | ||
2049 | 16 | * | ||
2050 | 17 | * You should have received a copy of the GNU General Public License | ||
2051 | 18 | * along with this program; if not, you may find one here: | ||
2052 | 19 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html | ||
2053 | 20 | * or you may search the http://www.gnu.org website for the version 2 license, | ||
2054 | 21 | * or you may write to the Free Software Foundation, Inc., | ||
2055 | 22 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA | ||
2056 | 23 | */ | ||
2057 | 24 | |||
2058 | 25 | /** | ||
2059 | 26 | * @file dialog_build_BOM.cpp | ||
2060 | 27 | */ | ||
2061 | 28 | |||
2062 | 29 | #include <fctsys.h> | ||
2063 | 30 | #include <kiface_i.h> | ||
2064 | 31 | #include <pgm_base.h> | ||
2065 | 32 | #include <confirm.h> | ||
2066 | 33 | #include <gestfich.h> | ||
2067 | 34 | #include <kicad_string.h> | ||
2068 | 35 | #include <class_sch_screen.h> | ||
2069 | 36 | #include <wxstruct.h> | ||
2070 | 37 | #include <build_version.h> | ||
2071 | 38 | |||
2072 | 39 | #include <netlist.h> | ||
2073 | 40 | #include <template_fieldnames.h> | ||
2074 | 41 | #include <sch_component.h> | ||
2075 | 42 | #include <sch_sheet.h> | ||
2076 | 43 | #include <class_library.h> | ||
2077 | 44 | |||
2078 | 45 | #include <wx/valgen.h> | ||
2079 | 46 | |||
2080 | 47 | #include <dialog_build_BOM.h> | ||
2081 | 48 | #include <BOM_lister.h> | ||
2082 | 49 | |||
2083 | 50 | |||
2084 | 51 | /* Local variables */ | ||
2085 | 52 | static bool s_ListByRef = true; | ||
2086 | 53 | static bool s_ListByValue = true; | ||
2087 | 54 | static bool s_ListWithSubCmponents; | ||
2088 | 55 | static bool s_ListHierarchicalPinByName; | ||
2089 | 56 | static bool s_ListHierarchicalPinBySheet; | ||
2090 | 57 | static bool s_BrowseCreatedList; | ||
2091 | 58 | static int s_OutputFormOpt; | ||
2092 | 59 | static int s_OutputSeparatorOpt; | ||
2093 | 60 | static bool s_Add_Location = false; | ||
2094 | 61 | static bool s_Add_FpField_state = true; | ||
2095 | 62 | static bool s_Add_DatasheetField_state; | ||
2096 | 63 | static bool s_Add_F1_state; | ||
2097 | 64 | static bool s_Add_F2_state; | ||
2098 | 65 | static bool s_Add_F3_state; | ||
2099 | 66 | static bool s_Add_F4_state; | ||
2100 | 67 | static bool s_Add_F5_state; | ||
2101 | 68 | static bool s_Add_F6_state; | ||
2102 | 69 | static bool s_Add_F7_state; | ||
2103 | 70 | static bool s_Add_F8_state; | ||
2104 | 71 | static bool s_Add_Alls_state; | ||
2105 | 72 | static char s_ExportSeparatorSymbol; | ||
2106 | 73 | |||
2107 | 74 | |||
2108 | 75 | static bool* s_AddFieldList[] = | ||
2109 | 76 | { | ||
2110 | 77 | &s_Add_FpField_state, | ||
2111 | 78 | &s_Add_F1_state, | ||
2112 | 79 | &s_Add_F2_state, | ||
2113 | 80 | &s_Add_F3_state, | ||
2114 | 81 | &s_Add_F4_state, | ||
2115 | 82 | &s_Add_F5_state, | ||
2116 | 83 | &s_Add_F6_state, | ||
2117 | 84 | &s_Add_F7_state, | ||
2118 | 85 | &s_Add_F8_state, | ||
2119 | 86 | &s_Add_Alls_state, | ||
2120 | 87 | &s_Add_DatasheetField_state, | ||
2121 | 88 | NULL | ||
2122 | 89 | }; | ||
2123 | 90 | |||
2124 | 91 | |||
2125 | 92 | const wxString OPTION_BOM_LIST_REF( wxT("BomListPerRef") ); | ||
2126 | 93 | const wxString OPTION_BOM_LIST_VALUE( wxT("BomListPerValue") ); | ||
2127 | 94 | const wxString OPTION_BOM_LIST_HPINS( wxT("BomListPerHPins") ); | ||
2128 | 95 | const wxString OPTION_BOM_LIST_HPINS_BY_SHEET( wxT("BomListHPinsPerSheet") ); | ||
2129 | 96 | const wxString OPTION_BOM_LIST_HPINS_BY_NAME_( wxT("BomListHPinsPerName") ); | ||
2130 | 97 | const wxString OPTION_BOM_LIST_SUB_CMP( wxT("BomListSubCmps") ); | ||
2131 | 98 | |||
2132 | 99 | const wxString OPTION_BOM_FORMAT( wxT("BomFormat") ); | ||
2133 | 100 | const wxString OPTION_BOM_LAUNCH_BROWSER( wxT("BomLaunchBrowser") ); | ||
2134 | 101 | const wxString OPTION_BOM_SEPARATOR( wxT("BomExportSeparator") ); | ||
2135 | 102 | const wxString OPTION_BOM_ADD_FIELD ( wxT("BomAddField") ); | ||
2136 | 103 | const wxString OPTION_BOM_ADD_LOCATION ( wxT("BomAddLocation") ); | ||
2137 | 104 | |||
2138 | 105 | /* list of separators used in bom export to spreadsheet | ||
2139 | 106 | * (selected by s_OutputSeparatorOpt, and s_OutputSeparatorOpt radiobox) | ||
2140 | 107 | */ | ||
2141 | 108 | static char s_ExportSeparator[] = ("\t;,."); | ||
2142 | 109 | |||
2143 | 110 | /*! | ||
2144 | 111 | * DIALOG_BUILD_BOM dialog type definition | ||
2145 | 112 | */ | ||
2146 | 113 | |||
2147 | 114 | |||
2148 | 115 | DIALOG_BUILD_BOM::DIALOG_BUILD_BOM( SCH_EDIT_FRAME* parent ) : | ||
2149 | 116 | DIALOG_BUILD_BOM_BASE( parent ) | ||
2150 | 117 | { | ||
2151 | 118 | m_config = Kiface().KifaceSettings(); | ||
2152 | 119 | wxASSERT( m_config != NULL ); | ||
2153 | 120 | |||
2154 | 121 | m_parent = parent; | ||
2155 | 122 | |||
2156 | 123 | Init(); | ||
2157 | 124 | |||
2158 | 125 | if( GetSizer() ) | ||
2159 | 126 | { | ||
2160 | 127 | GetSizer()->SetSizeHints( this ); | ||
2161 | 128 | } | ||
2162 | 129 | Centre(); | ||
2163 | 130 | } | ||
2164 | 131 | |||
2165 | 132 | |||
2166 | 133 | /*! | ||
2167 | 134 | * Init Controls for DIALOG_BUILD_BOM | ||
2168 | 135 | */ | ||
2169 | 136 | |||
2170 | 137 | void DIALOG_BUILD_BOM::Init() | ||
2171 | 138 | { | ||
2172 | 139 | SetFocus(); | ||
2173 | 140 | |||
2174 | 141 | /* Get options */ | ||
2175 | 142 | m_config->Read( OPTION_BOM_LIST_REF, &s_ListByRef ); | ||
2176 | 143 | m_config->Read( OPTION_BOM_LIST_VALUE , &s_ListByValue ); | ||
2177 | 144 | m_config->Read( OPTION_BOM_LIST_HPINS, &s_ListHierarchicalPinByName ); | ||
2178 | 145 | m_config->Read( OPTION_BOM_LIST_HPINS_BY_SHEET, &s_ListWithSubCmponents ); | ||
2179 | 146 | m_config->Read( OPTION_BOM_LIST_HPINS_BY_NAME_, &s_ListWithSubCmponents ); | ||
2180 | 147 | m_config->Read( OPTION_BOM_LIST_SUB_CMP, &s_ListWithSubCmponents ); | ||
2181 | 148 | m_config->Read( OPTION_BOM_LIST_HPINS_BY_SHEET, &s_ListHierarchicalPinBySheet ); | ||
2182 | 149 | m_config->Read( OPTION_BOM_LIST_HPINS_BY_NAME_, &s_ListHierarchicalPinByName ); | ||
2183 | 150 | s_OutputFormOpt = m_config->Read( OPTION_BOM_FORMAT, 0l ); | ||
2184 | 151 | m_config->Read( OPTION_BOM_LAUNCH_BROWSER, &s_BrowseCreatedList ); | ||
2185 | 152 | s_OutputSeparatorOpt = m_config->Read( OPTION_BOM_SEPARATOR, 0l ); | ||
2186 | 153 | m_config->Read( OPTION_BOM_ADD_LOCATION, &s_Add_Location ); | ||
2187 | 154 | |||
2188 | 155 | long addfields = m_config->Read( OPTION_BOM_ADD_FIELD, 0l ); | ||
2189 | 156 | for( int ii = 0, bitmask = 1; s_AddFieldList[ii] != NULL; ii++ ) | ||
2190 | 157 | { | ||
2191 | 158 | if( (addfields & bitmask) ) | ||
2192 | 159 | *s_AddFieldList[ii] = true; | ||
2193 | 160 | else | ||
2194 | 161 | *s_AddFieldList[ii] = false; | ||
2195 | 162 | |||
2196 | 163 | bitmask <<= 1; | ||
2197 | 164 | } | ||
2198 | 165 | |||
2199 | 166 | // Set validators | ||
2200 | 167 | m_ListCmpbyRefItems->SetValidator( wxGenericValidator( &s_ListByRef ) ); | ||
2201 | 168 | m_ListSubCmpItems->SetValidator( wxGenericValidator( &s_ListWithSubCmponents ) ); | ||
2202 | 169 | m_ListCmpbyValItems->SetValidator( wxGenericValidator( &s_ListByValue ) ); | ||
2203 | 170 | m_GenListLabelsbyVal->SetValidator( wxGenericValidator( &s_ListHierarchicalPinByName ) ); | ||
2204 | 171 | m_GenListLabelsbySheet->SetValidator( wxGenericValidator( &s_ListHierarchicalPinBySheet ) ); | ||
2205 | 172 | m_OutputFormCtrl->SetValidator( wxGenericValidator( &s_OutputFormOpt ) ); | ||
2206 | 173 | m_OutputSeparatorCtrl->SetValidator( wxGenericValidator( &s_OutputSeparatorOpt ) ); | ||
2207 | 174 | m_GetListBrowser->SetValidator( wxGenericValidator( &s_BrowseCreatedList ) ); | ||
2208 | 175 | |||
2209 | 176 | m_AddLocationField->SetValidator( wxGenericValidator( &s_Add_Location ) ); | ||
2210 | 177 | m_AddFootprintField->SetValidator( wxGenericValidator( &s_Add_FpField_state ) ); | ||
2211 | 178 | m_AddDatasheetField->SetValidator( wxGenericValidator( &s_Add_DatasheetField_state ) ); | ||
2212 | 179 | m_AddField1->SetValidator( wxGenericValidator( &s_Add_F1_state ) ); | ||
2213 | 180 | m_AddField2->SetValidator( wxGenericValidator( &s_Add_F2_state ) ); | ||
2214 | 181 | m_AddField3->SetValidator( wxGenericValidator( &s_Add_F3_state ) ); | ||
2215 | 182 | m_AddField4->SetValidator( wxGenericValidator( &s_Add_F4_state ) ); | ||
2216 | 183 | m_AddField5->SetValidator( wxGenericValidator( &s_Add_F5_state ) ); | ||
2217 | 184 | m_AddField6->SetValidator( wxGenericValidator( &s_Add_F6_state ) ); | ||
2218 | 185 | m_AddField7->SetValidator( wxGenericValidator( &s_Add_F7_state ) ); | ||
2219 | 186 | m_AddField8->SetValidator( wxGenericValidator( &s_Add_F8_state ) ); | ||
2220 | 187 | m_AddAllFields->SetValidator( wxGenericValidator( &s_Add_Alls_state ) ); | ||
2221 | 188 | |||
2222 | 189 | m_OutputFormCtrl->SetSelection( s_OutputFormOpt ); | ||
2223 | 190 | m_OutputSeparatorCtrl->SetSelection( s_OutputSeparatorOpt ); | ||
2224 | 191 | |||
2225 | 192 | // Enable/disable options: | ||
2226 | 193 | wxCommandEvent dummy; | ||
2227 | 194 | OnRadioboxSelectFormatSelected( dummy ); | ||
2228 | 195 | } | ||
2229 | 196 | |||
2230 | 197 | |||
2231 | 198 | /* | ||
2232 | 199 | * Called on BOM format selection: | ||
2233 | 200 | * Enable/disable options in dialog | ||
2234 | 201 | */ | ||
2235 | 202 | void DIALOG_BUILD_BOM::OnRadioboxSelectFormatSelected( wxCommandEvent& event ) | ||
2236 | 203 | { | ||
2237 | 204 | switch( m_OutputFormCtrl->GetSelection() ) | ||
2238 | 205 | { | ||
2239 | 206 | case 0: // Human readable text full report | ||
2240 | 207 | m_OutputSeparatorCtrl->Enable( false ); | ||
2241 | 208 | m_ListCmpbyRefItems->Enable( true ); | ||
2242 | 209 | m_ListCmpbyValItems->Enable( true ); | ||
2243 | 210 | m_GenListLabelsbyVal->Enable( true ); | ||
2244 | 211 | m_GenListLabelsbySheet->Enable( true ); | ||
2245 | 212 | m_ListSubCmpItems->Enable( true ); | ||
2246 | 213 | m_AddLocationField->Enable( true ); | ||
2247 | 214 | break; | ||
2248 | 215 | |||
2249 | 216 | case 1: // Csv format, full list by reference | ||
2250 | 217 | m_OutputSeparatorCtrl->Enable( true ); | ||
2251 | 218 | m_ListCmpbyRefItems->Enable( false ); | ||
2252 | 219 | m_ListCmpbyValItems->Enable( false ); | ||
2253 | 220 | m_GenListLabelsbyVal->Enable( false ); | ||
2254 | 221 | m_GenListLabelsbySheet->Enable( false ); | ||
2255 | 222 | m_ListSubCmpItems->Enable( true ); | ||
2256 | 223 | m_AddLocationField->Enable( true ); | ||
2257 | 224 | break; | ||
2258 | 225 | |||
2259 | 226 | case 2: // Csv format, grouped list by reference | ||
2260 | 227 | m_OutputSeparatorCtrl->Enable( true ); | ||
2261 | 228 | m_ListCmpbyRefItems->Enable( false ); | ||
2262 | 229 | m_ListCmpbyValItems->Enable( false ); | ||
2263 | 230 | m_GenListLabelsbyVal->Enable( false ); | ||
2264 | 231 | m_GenListLabelsbySheet->Enable( false ); | ||
2265 | 232 | m_ListSubCmpItems->Enable( false ); | ||
2266 | 233 | m_AddLocationField->Enable( false ); | ||
2267 | 234 | break; | ||
2268 | 235 | |||
2269 | 236 | case 3: // Csv format, short list by values | ||
2270 | 237 | m_OutputSeparatorCtrl->Enable( true ); | ||
2271 | 238 | m_ListCmpbyRefItems->Enable( false ); | ||
2272 | 239 | m_ListCmpbyValItems->Enable( false ); | ||
2273 | 240 | m_GenListLabelsbyVal->Enable( false ); | ||
2274 | 241 | m_GenListLabelsbySheet->Enable( false ); | ||
2275 | 242 | m_ListSubCmpItems->Enable( false ); | ||
2276 | 243 | m_AddLocationField->Enable( false ); | ||
2277 | 244 | break; | ||
2278 | 245 | } | ||
2279 | 246 | } | ||
2280 | 247 | |||
2281 | 248 | |||
2282 | 249 | /*! | ||
2283 | 250 | * wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK | ||
2284 | 251 | */ | ||
2285 | 252 | |||
2286 | 253 | void DIALOG_BUILD_BOM::OnOkClick( wxCommandEvent& event ) | ||
2287 | 254 | { | ||
2288 | 255 | char ExportSeparatorSymbol = s_ExportSeparator[0]; | ||
2289 | 256 | |||
2290 | 257 | if( m_OutputSeparatorCtrl->GetSelection() > 0 ) | ||
2291 | 258 | ExportSeparatorSymbol = s_ExportSeparator[m_OutputSeparatorCtrl->GetSelection()]; | ||
2292 | 259 | |||
2293 | 260 | int ExportFileType = m_OutputFormCtrl->GetSelection(); | ||
2294 | 261 | |||
2295 | 262 | SavePreferences(); | ||
2296 | 263 | |||
2297 | 264 | Create_BOM_Lists( ExportFileType, m_ListSubCmpItems->GetValue(), | ||
2298 | 265 | ExportSeparatorSymbol, m_GetListBrowser->GetValue() ); | ||
2299 | 266 | } | ||
2300 | 267 | |||
2301 | 268 | |||
2302 | 269 | /*! | ||
2303 | 270 | * wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL | ||
2304 | 271 | */ | ||
2305 | 272 | |||
2306 | 273 | void DIALOG_BUILD_BOM::OnCancelClick( wxCommandEvent& event ) | ||
2307 | 274 | { | ||
2308 | 275 | EndModal( -1 ); | ||
2309 | 276 | } | ||
2310 | 277 | |||
2311 | 278 | |||
2312 | 279 | void DIALOG_BUILD_BOM::SavePreferences() | ||
2313 | 280 | { | ||
2314 | 281 | // Determine current settings of "List items" and "Options" checkboxes | ||
2315 | 282 | s_ListByRef = m_ListCmpbyRefItems->GetValue(); | ||
2316 | 283 | s_ListWithSubCmponents = m_ListSubCmpItems->GetValue(); | ||
2317 | 284 | s_ListByValue = m_ListCmpbyValItems->GetValue(); | ||
2318 | 285 | s_ListHierarchicalPinByName = m_GenListLabelsbyVal->GetValue(); | ||
2319 | 286 | s_ListHierarchicalPinBySheet = m_GenListLabelsbySheet->GetValue(); | ||
2320 | 287 | s_BrowseCreatedList = m_GetListBrowser->GetValue(); | ||
2321 | 288 | |||
2322 | 289 | // (saved in config ): | ||
2323 | 290 | |||
2324 | 291 | // Determine current settings of both radiobutton groups | ||
2325 | 292 | s_OutputFormOpt = m_OutputFormCtrl->GetSelection(); | ||
2326 | 293 | s_OutputSeparatorOpt = m_OutputSeparatorCtrl->GetSelection(); | ||
2327 | 294 | |||
2328 | 295 | if( s_OutputSeparatorOpt < 0 ) | ||
2329 | 296 | s_OutputSeparatorOpt = 0; | ||
2330 | 297 | |||
2331 | 298 | // Determine current settings of all "Fields to add" checkboxes | ||
2332 | 299 | s_Add_Location = m_AddLocationField->GetValue(); | ||
2333 | 300 | s_Add_FpField_state = m_AddFootprintField->GetValue(); | ||
2334 | 301 | s_Add_DatasheetField_state = m_AddDatasheetField->GetValue(); | ||
2335 | 302 | s_Add_F1_state = m_AddField1->GetValue(); | ||
2336 | 303 | s_Add_F2_state = m_AddField2->GetValue(); | ||
2337 | 304 | s_Add_F3_state = m_AddField3->GetValue(); | ||
2338 | 305 | s_Add_F4_state = m_AddField4->GetValue(); | ||
2339 | 306 | s_Add_F5_state = m_AddField5->GetValue(); | ||
2340 | 307 | s_Add_F6_state = m_AddField6->GetValue(); | ||
2341 | 308 | s_Add_F7_state = m_AddField7->GetValue(); | ||
2342 | 309 | s_Add_F8_state = m_AddField8->GetValue(); | ||
2343 | 310 | s_Add_Alls_state = m_AddAllFields->GetValue(); | ||
2344 | 311 | |||
2345 | 312 | // Now save current settings of both radiobutton groups | ||
2346 | 313 | m_config->Write( OPTION_BOM_LIST_REF, s_ListByRef ); | ||
2347 | 314 | m_config->Write( OPTION_BOM_LIST_VALUE , s_ListByValue ); | ||
2348 | 315 | m_config->Write( OPTION_BOM_LIST_HPINS, s_ListHierarchicalPinByName ); | ||
2349 | 316 | m_config->Write( OPTION_BOM_LIST_HPINS_BY_SHEET, s_ListHierarchicalPinBySheet ); | ||
2350 | 317 | m_config->Write( OPTION_BOM_LIST_HPINS_BY_NAME_, s_ListHierarchicalPinByName ); | ||
2351 | 318 | m_config->Write( OPTION_BOM_LIST_SUB_CMP, s_ListWithSubCmponents ); | ||
2352 | 319 | |||
2353 | 320 | m_config->Write( OPTION_BOM_FORMAT, (long) s_OutputFormOpt ); | ||
2354 | 321 | m_config->Write( OPTION_BOM_SEPARATOR, (long) s_OutputSeparatorOpt ); | ||
2355 | 322 | m_config->Write( OPTION_BOM_LAUNCH_BROWSER, (long) s_BrowseCreatedList ); | ||
2356 | 323 | |||
2357 | 324 | // Now save current settings of all "Fields to add" checkboxes | ||
2358 | 325 | m_config->Write( OPTION_BOM_ADD_LOCATION, s_Add_Location ); | ||
2359 | 326 | |||
2360 | 327 | long addfields = 0; | ||
2361 | 328 | for( int ii = 0, bitmask = 1; s_AddFieldList[ii] != NULL; ii++ ) | ||
2362 | 329 | { | ||
2363 | 330 | if( *s_AddFieldList[ii] ) | ||
2364 | 331 | addfields |= bitmask; | ||
2365 | 332 | |||
2366 | 333 | bitmask <<= 1; | ||
2367 | 334 | } | ||
2368 | 335 | |||
2369 | 336 | m_config->Write( OPTION_BOM_ADD_FIELD, addfields ); | ||
2370 | 337 | } | ||
2371 | 338 | |||
2372 | 339 | |||
2373 | 340 | void DIALOG_BUILD_BOM::Create_BOM_Lists( int aTypeFile, | ||
2374 | 341 | bool aIncludeSubComponents, | ||
2375 | 342 | char aExportSeparatorSymbol, | ||
2376 | 343 | bool aRunBrowser ) | ||
2377 | 344 | { | ||
2378 | 345 | wxString wildcard; | ||
2379 | 346 | |||
2380 | 347 | static wxFileName fn; | ||
2381 | 348 | |||
2382 | 349 | wxFileName current = g_RootSheet->GetScreen()->GetFileName(); | ||
2383 | 350 | |||
2384 | 351 | s_ExportSeparatorSymbol = aExportSeparatorSymbol; | ||
2385 | 352 | |||
2386 | 353 | if( !fn.HasName() || fn.GetName()==NAMELESS_PROJECT ) | ||
2387 | 354 | { | ||
2388 | 355 | fn.SetName( current.GetName() ); | ||
2389 | 356 | } | ||
2390 | 357 | // else use a previous run's name, because fn was set before and user | ||
2391 | 358 | // is probably just iteratively refining the BOM. | ||
2392 | 359 | |||
2393 | 360 | if( fn.GetPath().IsEmpty() ) | ||
2394 | 361 | { | ||
2395 | 362 | fn.SetPath( current.GetPath() ); | ||
2396 | 363 | } | ||
2397 | 364 | // else use a previous run's path, because fn was set before and user | ||
2398 | 365 | // is probably just iteratively refining the BOM. | ||
2399 | 366 | |||
2400 | 367 | wxString bomDesc = _( "Bill of Materials" ); // translate once, use twice. | ||
2401 | 368 | |||
2402 | 369 | if( aTypeFile == 0 ) | ||
2403 | 370 | { | ||
2404 | 371 | fn.SetExt( wxT( "lst" ) ); | ||
2405 | 372 | wildcard = bomDesc + wxT( " (*.lst)|*.lst" ); | ||
2406 | 373 | } | ||
2407 | 374 | else | ||
2408 | 375 | { | ||
2409 | 376 | fn.SetExt( wxT( "csv" ) ); | ||
2410 | 377 | wildcard = bomDesc + wxT( " (*.csv)|*.csv" ); | ||
2411 | 378 | } | ||
2412 | 379 | |||
2413 | 380 | wxFileDialog dlg( this, bomDesc, fn.GetPath(), | ||
2414 | 381 | fn.GetFullName(), wildcard, wxFD_SAVE ); | ||
2415 | 382 | |||
2416 | 383 | if( dlg.ShowModal() == wxID_CANCEL ) | ||
2417 | 384 | return; | ||
2418 | 385 | |||
2419 | 386 | fn = dlg.GetPath(); // remember path+filename+ext for subsequent runs. | ||
2420 | 387 | |||
2421 | 388 | m_listFileName = dlg.GetPath(); | ||
2422 | 389 | |||
2423 | 390 | // Close dialog, then show the list (if so requested) | ||
2424 | 391 | |||
2425 | 392 | switch( aTypeFile ) | ||
2426 | 393 | { | ||
2427 | 394 | case 0: // list | ||
2428 | 395 | CreatePartsAndLabelsFullList( aIncludeSubComponents ); | ||
2429 | 396 | break; | ||
2430 | 397 | |||
2431 | 398 | case 1: // spreadsheet, Single Part per line | ||
2432 | 399 | CreateSpreadSheetPartsFullList( aIncludeSubComponents, s_Add_Location, false ); | ||
2433 | 400 | break; | ||
2434 | 401 | |||
2435 | 402 | case 2: // spreadsheet, group Part with same fields per line | ||
2436 | 403 | CreateSpreadSheetPartsFullList( aIncludeSubComponents, s_Add_Location, true ); | ||
2437 | 404 | break; | ||
2438 | 405 | |||
2439 | 406 | case 3: // spreadsheet, one value per line and no sub-component | ||
2440 | 407 | CreateSpreadSheetPartsShortList(); | ||
2441 | 408 | break; | ||
2442 | 409 | } | ||
2443 | 410 | |||
2444 | 411 | EndModal( 1 ); | ||
2445 | 412 | |||
2446 | 413 | if( aRunBrowser ) | ||
2447 | 414 | { | ||
2448 | 415 | wxString editorname = Pgm().GetEditorName(); | ||
2449 | 416 | wxString filename = m_listFileName; | ||
2450 | 417 | AddDelimiterString( filename ); | ||
2451 | 418 | ExecuteFile( this, editorname, filename ); | ||
2452 | 419 | } | ||
2453 | 420 | } | ||
2454 | 421 | |||
2455 | 422 | /** Helper function IsFieldChecked | ||
2456 | 423 | * return the state of the wxCheckbox corresponding to the | ||
2457 | 424 | * field aFieldId (FOOTPRINT, DATASHEET and FIELD1 to FIELD8 | ||
2458 | 425 | * if the option "All user fields" is checked, return always true | ||
2459 | 426 | * for fileds ids >= FIELD1 | ||
2460 | 427 | * @param aFieldId = the field id : FOOTPRINT to FIELD8 | ||
2461 | 428 | */ | ||
2462 | 429 | bool DIALOG_BUILD_BOM::IsFieldChecked(int aFieldId) | ||
2463 | 430 | { | ||
2464 | 431 | if( m_AddAllFields->IsChecked() && (aFieldId>= FIELD1) ) | ||
2465 | 432 | return true; | ||
2466 | 433 | |||
2467 | 434 | switch ( aFieldId ) | ||
2468 | 435 | { | ||
2469 | 436 | case FIELD1: | ||
2470 | 437 | return m_AddField1->IsChecked(); | ||
2471 | 438 | case FIELD2: | ||
2472 | 439 | return m_AddField2->IsChecked(); | ||
2473 | 440 | case FIELD3: | ||
2474 | 441 | return m_AddField3->IsChecked(); | ||
2475 | 442 | case FIELD4: | ||
2476 | 443 | return m_AddField4->IsChecked(); | ||
2477 | 444 | case FIELD5: | ||
2478 | 445 | return m_AddField5->IsChecked(); | ||
2479 | 446 | case FIELD6: | ||
2480 | 447 | return m_AddField6->IsChecked(); | ||
2481 | 448 | case FIELD7: | ||
2482 | 449 | return m_AddField7->IsChecked(); | ||
2483 | 450 | case FIELD8: | ||
2484 | 451 | return m_AddField8->IsChecked(); | ||
2485 | 452 | case FOOTPRINT: | ||
2486 | 453 | return m_AddFootprintField->IsChecked(); | ||
2487 | 454 | case DATASHEET: | ||
2488 | 455 | return m_AddDatasheetField->IsChecked(); | ||
2489 | 456 | } | ||
2490 | 457 | |||
2491 | 458 | return false; | ||
2492 | 459 | } | ||
2493 | 460 | |||
2494 | 461 | |||
2495 | 462 | /* Prints a list of components, in a form which can be imported by a spreadsheet. | ||
2496 | 463 | * components having the same value and the same footprint | ||
2497 | 464 | * are grouped on the same line | ||
2498 | 465 | * Form is: | ||
2499 | 466 | * value; number of components; list of references; <footprint>; <field1>; ...; | ||
2500 | 467 | * list is sorted by values | ||
2501 | 468 | */ | ||
2502 | 469 | void DIALOG_BUILD_BOM::CreateSpreadSheetPartsShortList( ) | ||
2503 | 470 | { | ||
2504 | 471 | FILE* f; | ||
2505 | 472 | |||
2506 | 473 | if( ( f = wxFopen( m_listFileName, wxT( "wt" ) ) ) == NULL ) | ||
2507 | 474 | { | ||
2508 | 475 | wxString msg; | ||
2509 | 476 | msg.Printf( _( "Failed to open file <%s>" ), GetChars(m_listFileName) ); | ||
2510 | 477 | DisplayError( this, msg ); | ||
2511 | 478 | return; | ||
2512 | 479 | } | ||
2513 | 480 | |||
2514 | 481 | BOM_LISTER bom_lister( Prj().SchLibs() ); | ||
2515 | 482 | bom_lister.SetCvsFormOn( s_ExportSeparatorSymbol ); | ||
2516 | 483 | |||
2517 | 484 | // Set the list of fields to add to list | ||
2518 | 485 | for( int ii = FOOTPRINT; ii <= FIELD8; ii++ ) | ||
2519 | 486 | if( IsFieldChecked( ii ) ) | ||
2520 | 487 | bom_lister.AddFieldIdToPrintList( ii ); | ||
2521 | 488 | // Write the list of components grouped by values: | ||
2522 | 489 | bom_lister.CreateCsvBOMListByValues( f ); | ||
2523 | 490 | } | ||
2524 | 491 | |||
2525 | 492 | |||
2526 | 493 | /* | ||
2527 | 494 | * Print a list of components, in a form which can be imported by a spreadsheet | ||
2528 | 495 | * form is: | ||
2529 | 496 | * cmp ref; cmp val; fields; | ||
2530 | 497 | * Components are sorted by reference | ||
2531 | 498 | * param aIncludeSubComponents = true to print sub components | ||
2532 | 499 | * param aPrintLocation = true to print components location | ||
2533 | 500 | * (only possible when aIncludeSubComponents == true) | ||
2534 | 501 | * param aGroupRefs = true to group components references, when other fieds | ||
2535 | 502 | * have the same value | ||
2536 | 503 | */ | ||
2537 | 504 | void DIALOG_BUILD_BOM::CreateSpreadSheetPartsFullList( bool aIncludeSubComponents, | ||
2538 | 505 | bool aPrintLocation, | ||
2539 | 506 | bool aGroupRefs ) | ||
2540 | 507 | { | ||
2541 | 508 | FILE* f; | ||
2542 | 509 | wxString msg; | ||
2543 | 510 | |||
2544 | 511 | if( ( f = wxFopen( m_listFileName, wxT( "wt" ) ) ) == NULL ) | ||
2545 | 512 | { | ||
2546 | 513 | msg.Printf( _( "Failed to open file <%s>" ), GetChars( m_listFileName ) ); | ||
2547 | 514 | DisplayError( this, msg ); | ||
2548 | 515 | return; | ||
2549 | 516 | } | ||
2550 | 517 | |||
2551 | 518 | BOM_LISTER bom_lister( Prj().SchLibs() ); | ||
2552 | 519 | bom_lister.SetCvsFormOn( s_ExportSeparatorSymbol ); | ||
2553 | 520 | |||
2554 | 521 | // Set group refs option (hight priority): | ||
2555 | 522 | // Obvioulsy only useful when not including sub-components | ||
2556 | 523 | bom_lister.SetGroupReferences( aGroupRefs ); | ||
2557 | 524 | bom_lister.SetIncludeSubCmp( aIncludeSubComponents && !aGroupRefs ); | ||
2558 | 525 | |||
2559 | 526 | // Set print location option: | ||
2560 | 527 | // Obvioulsy only possible when including sub components | ||
2561 | 528 | // and not grouping references | ||
2562 | 529 | bom_lister.SetPrintLocation( aPrintLocation && !aGroupRefs && | ||
2563 | 530 | aIncludeSubComponents ); | ||
2564 | 531 | |||
2565 | 532 | // Set the list of fields to add to list | ||
2566 | 533 | for( int ii = FOOTPRINT; ii <= FIELD8; ii++ ) | ||
2567 | 534 | if( IsFieldChecked( ii ) ) | ||
2568 | 535 | bom_lister.AddFieldIdToPrintList( ii ); | ||
2569 | 536 | |||
2570 | 537 | // create the file | ||
2571 | 538 | bom_lister.PrintComponentsListByReferenceCsvForm( f ); | ||
2572 | 539 | |||
2573 | 540 | fclose( f ); | ||
2574 | 541 | } | ||
2575 | 542 | |||
2576 | 543 | |||
2577 | 544 | /* | ||
2578 | 545 | * CreatePartsAndLabelsFullList() | ||
2579 | 546 | * Main function to create the list of components and/or labels | ||
2580 | 547 | * (global labels, hierarchical labels and pin sheets ) | ||
2581 | 548 | */ | ||
2582 | 549 | void DIALOG_BUILD_BOM::CreatePartsAndLabelsFullList( bool aIncludeSubComponents ) | ||
2583 | 550 | { | ||
2584 | 551 | FILE* f; | ||
2585 | 552 | wxString msg; | ||
2586 | 553 | |||
2587 | 554 | if( ( f = wxFopen( m_listFileName, wxT( "wt" ) ) ) == NULL ) | ||
2588 | 555 | { | ||
2589 | 556 | msg.Printf( _( "Failed to open file <%s>" ), GetChars( m_listFileName ) ); | ||
2590 | 557 | DisplayError( this, msg ); | ||
2591 | 558 | return; | ||
2592 | 559 | } | ||
2593 | 560 | |||
2594 | 561 | BOM_LISTER bom_lister( Prj().SchLibs() ); | ||
2595 | 562 | bom_lister.SetIncludeSubCmp( aIncludeSubComponents ); | ||
2596 | 563 | bom_lister.SetCvsFormOff(); | ||
2597 | 564 | bom_lister.SetPrintLocation( s_Add_Location ); | ||
2598 | 565 | // Set the list of fields to add to list | ||
2599 | 566 | for( int ii = FOOTPRINT; ii <= FIELD8; ii++ ) | ||
2600 | 567 | if( IsFieldChecked( ii ) ) | ||
2601 | 568 | bom_lister.AddFieldIdToPrintList( ii ); | ||
2602 | 569 | |||
2603 | 570 | // creates the list file | ||
2604 | 571 | wxString Title = Pgm().App().GetAppName() + wxT( " " ) + GetBuildVersion(); | ||
2605 | 572 | |||
2606 | 573 | fprintf( f, "%s >> Creation date: %s\n", TO_UTF8( Title ), TO_UTF8( DateAndTime() ) ); | ||
2607 | 574 | |||
2608 | 575 | if( m_ListCmpbyRefItems->GetValue() ) | ||
2609 | 576 | bom_lister.PrintComponentsListByReferenceHumanReadable( f ); | ||
2610 | 577 | |||
2611 | 578 | if( m_ListCmpbyValItems->GetValue() ) | ||
2612 | 579 | bom_lister.PrintComponentsListByValue( f ); | ||
2613 | 580 | |||
2614 | 581 | // Create list of global labels, hierachical labels and pins sheets | ||
2615 | 582 | |||
2616 | 583 | if( m_GenListLabelsbySheet->GetValue() ) | ||
2617 | 584 | bom_lister.PrintGlobalAndHierarchicalLabelsList( f, true ); | ||
2618 | 585 | |||
2619 | 586 | if( m_GenListLabelsbyVal->GetValue() ) | ||
2620 | 587 | bom_lister.PrintGlobalAndHierarchicalLabelsList( f, false ); | ||
2621 | 588 | |||
2622 | 589 | msg = _( "\n#End List\n" ); | ||
2623 | 590 | fprintf( f, "%s", TO_UTF8( msg ) ); | ||
2624 | 591 | fclose( f ); | ||
2625 | 592 | } | ||
2626 | 0 | 593 | ||
2627 | === added file 'eeschema/BOM/dialogs/dialog_build_BOM.h' | |||
2628 | --- eeschema/BOM/dialogs/dialog_build_BOM.h 1970-01-01 00:00:00 +0000 | |||
2629 | +++ eeschema/BOM/dialogs/dialog_build_BOM.h 2015-06-20 07:42:20 +0000 | |||
2630 | @@ -0,0 +1,93 @@ | |||
2631 | 1 | /** | ||
2632 | 2 | * @file dialog_build_BOM.h | ||
2633 | 3 | */ | ||
2634 | 4 | |||
2635 | 5 | /* This program source code file is part of KiCad, a free EDA CAD application. | ||
2636 | 6 | * | ||
2637 | 7 | * Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors. | ||
2638 | 8 | * | ||
2639 | 9 | * This program is free software; you can redistribute it and/or | ||
2640 | 10 | * modify it under the terms of the GNU General Public License | ||
2641 | 11 | * as published by the Free Software Foundation; either version 2 | ||
2642 | 12 | * of the License, or (at your option) any later version. | ||
2643 | 13 | * | ||
2644 | 14 | * This program is distributed in the hope that it will be useful, | ||
2645 | 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2646 | 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2647 | 17 | * GNU General Public License for more details. | ||
2648 | 18 | * | ||
2649 | 19 | * You should have received a copy of the GNU General Public License | ||
2650 | 20 | * along with this program; if not, you may find one here: | ||
2651 | 21 | * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html | ||
2652 | 22 | * or you may search the http://www.gnu.org website for the version 2 license, | ||
2653 | 23 | * or you may write to the Free Software Foundation, Inc., | ||
2654 | 24 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA | ||
2655 | 25 | */ | ||
2656 | 26 | |||
2657 | 27 | |||
2658 | 28 | #ifndef _DIALOG_BUILD_BOM_H_ | ||
2659 | 29 | #define _DIALOG_BUILD_BOM_H_ | ||
2660 | 30 | |||
2661 | 31 | #include <dialog_build_BOM_base.h> | ||
2662 | 32 | #include <schframe.h> | ||
2663 | 33 | |||
2664 | 34 | class SCH_COMPONENT; | ||
2665 | 35 | class wxConfig; | ||
2666 | 36 | |||
2667 | 37 | class DIALOG_BUILD_BOM : public DIALOG_BUILD_BOM_BASE | ||
2668 | 38 | { | ||
2669 | 39 | private: | ||
2670 | 40 | SCH_EDIT_FRAME* m_parent; | ||
2671 | 41 | wxConfigBase* m_config; | ||
2672 | 42 | wxString m_listFileName; // The full filename of the file report. | ||
2673 | 43 | |||
2674 | 44 | private: | ||
2675 | 45 | void OnRadioboxSelectFormatSelected( wxCommandEvent& event ); | ||
2676 | 46 | void OnOkClick( wxCommandEvent& event ); | ||
2677 | 47 | void OnCancelClick( wxCommandEvent& event ); | ||
2678 | 48 | |||
2679 | 49 | void SavePreferences(); | ||
2680 | 50 | void Init(); | ||
2681 | 51 | void Create_BOM_Lists( int aTypeFile, | ||
2682 | 52 | bool aIncludeSubComponents, | ||
2683 | 53 | char aExportSeparatorSymbol, | ||
2684 | 54 | bool aRunBrowser ); | ||
2685 | 55 | |||
2686 | 56 | void CreatePartsAndLabelsFullList( bool aIncludeSubComponents ); | ||
2687 | 57 | |||
2688 | 58 | /** | ||
2689 | 59 | * Function CreateSpreadSheetPartsFullList | ||
2690 | 60 | * prints a list of components, in a form which can be imported by a | ||
2691 | 61 | * spreadsheet. Form is: | ||
2692 | 62 | * reference; cmp value; \<footprint\>; \<field1\>; ...; | ||
2693 | 63 | * Components are sorted by reference | ||
2694 | 64 | * @param aIncludeSubComponents = true to print sub components | ||
2695 | 65 | * @param aPrintLocation = true to print components location | ||
2696 | 66 | * (only possible when aIncludeSubComponents == true) | ||
2697 | 67 | * @param aGroupRefs = true to group components references, when other fieds | ||
2698 | 68 | * have the same value | ||
2699 | 69 | */ | ||
2700 | 70 | void CreateSpreadSheetPartsFullList( bool aIncludeSubComponents, | ||
2701 | 71 | bool aPrintLocation, | ||
2702 | 72 | bool aGroupRefs ); | ||
2703 | 73 | |||
2704 | 74 | /** | ||
2705 | 75 | * Function CreateSpreadSheetPartsShortList | ||
2706 | 76 | * prints a list of components, in a form which can be imported by a spreadsheet. | ||
2707 | 77 | * components having the same value and the same footprint | ||
2708 | 78 | * are grouped on the same line | ||
2709 | 79 | * Form is: | ||
2710 | 80 | * value; number of components; list of references; \<footprint\>; \<field1\>; ...; | ||
2711 | 81 | * list is sorted by values | ||
2712 | 82 | */ | ||
2713 | 83 | void CreateSpreadSheetPartsShortList(); | ||
2714 | 84 | |||
2715 | 85 | bool IsFieldChecked( int aFieldId ); | ||
2716 | 86 | |||
2717 | 87 | public: | ||
2718 | 88 | DIALOG_BUILD_BOM( SCH_EDIT_FRAME* parent ); | ||
2719 | 89 | |||
2720 | 90 | // ~DIALOG_BUILD_BOM() {}; | ||
2721 | 91 | }; | ||
2722 | 92 | |||
2723 | 93 | #endif // _DIALOG_BUILD_BOM_H_ | ||
2724 | 0 | 94 | ||
2725 | === added file 'eeschema/BOM/dialogs/dialog_build_BOM_base.cpp' | |||
2726 | --- eeschema/BOM/dialogs/dialog_build_BOM_base.cpp 1970-01-01 00:00:00 +0000 | |||
2727 | +++ eeschema/BOM/dialogs/dialog_build_BOM_base.cpp 2015-06-20 07:42:20 +0000 | |||
2728 | @@ -0,0 +1,157 @@ | |||
2729 | 1 | /////////////////////////////////////////////////////////////////////////// | ||
2730 | 2 | // C++ code generated with wxFormBuilder (version Oct 8 2012) | ||
2731 | 3 | // http://www.wxformbuilder.org/ | ||
2732 | 4 | // | ||
2733 | 5 | // PLEASE DO "NOT" EDIT THIS FILE! | ||
2734 | 6 | /////////////////////////////////////////////////////////////////////////// | ||
2735 | 7 | |||
2736 | 8 | #include "dialog_build_BOM_base.h" | ||
2737 | 9 | |||
2738 | 10 | /////////////////////////////////////////////////////////////////////////// | ||
2739 | 11 | |||
2740 | 12 | DIALOG_BUILD_BOM_BASE::DIALOG_BUILD_BOM_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style ) | ||
2741 | 13 | { | ||
2742 | 14 | this->SetSizeHints( wxDefaultSize, wxDefaultSize ); | ||
2743 | 15 | |||
2744 | 16 | wxBoxSizer* bMainSizer; | ||
2745 | 17 | bMainSizer = new wxBoxSizer( wxVERTICAL ); | ||
2746 | 18 | |||
2747 | 19 | wxBoxSizer* bSizerUpper; | ||
2748 | 20 | bSizerUpper = new wxBoxSizer( wxHORIZONTAL ); | ||
2749 | 21 | |||
2750 | 22 | wxStaticBoxSizer* sbOptionsSizer; | ||
2751 | 23 | sbOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Options:") ), wxVERTICAL ); | ||
2752 | 24 | |||
2753 | 25 | wxStaticBoxSizer* sbListOptionsSizer; | ||
2754 | 26 | sbListOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("List items:") ), wxVERTICAL ); | ||
2755 | 27 | |||
2756 | 28 | m_ListCmpbyRefItems = new wxCheckBox( this, wxID_ANY, _("Components by reference"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2757 | 29 | sbListOptionsSizer->Add( m_ListCmpbyRefItems, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); | ||
2758 | 30 | |||
2759 | 31 | m_ListSubCmpItems = new wxCheckBox( this, wxID_ANY, _("Sub components (i.e. U2A, U2B ...)"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2760 | 32 | sbListOptionsSizer->Add( m_ListSubCmpItems, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); | ||
2761 | 33 | |||
2762 | 34 | m_ListCmpbyValItems = new wxCheckBox( this, wxID_ANY, _("Components by value"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2763 | 35 | sbListOptionsSizer->Add( m_ListCmpbyValItems, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); | ||
2764 | 36 | |||
2765 | 37 | m_GenListLabelsbyVal = new wxCheckBox( this, wxID_ANY, _("Hierarchical pins by name"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2766 | 38 | sbListOptionsSizer->Add( m_GenListLabelsbyVal, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); | ||
2767 | 39 | |||
2768 | 40 | m_GenListLabelsbySheet = new wxCheckBox( this, wxID_ANY, _("Hierarchical pins by sheet"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2769 | 41 | sbListOptionsSizer->Add( m_GenListLabelsbySheet, 0, wxALL, 5 ); | ||
2770 | 42 | |||
2771 | 43 | |||
2772 | 44 | sbOptionsSizer->Add( sbListOptionsSizer, 0, wxEXPAND, 5 ); | ||
2773 | 45 | |||
2774 | 46 | wxString m_OutputFormCtrlChoices[] = { _("List"), _("List for spreadsheet import (by ref)"), _("List for spreadsheet import (by grouped ref)"), _("List for spreadsheet import (by value)") }; | ||
2775 | 47 | int m_OutputFormCtrlNChoices = sizeof( m_OutputFormCtrlChoices ) / sizeof( wxString ); | ||
2776 | 48 | m_OutputFormCtrl = new wxRadioBox( this, ID_RADIOBOX_SELECT_FORMAT, _("Output format:"), wxDefaultPosition, wxDefaultSize, m_OutputFormCtrlNChoices, m_OutputFormCtrlChoices, 1, wxRA_SPECIFY_COLS ); | ||
2777 | 49 | m_OutputFormCtrl->SetSelection( 1 ); | ||
2778 | 50 | sbOptionsSizer->Add( m_OutputFormCtrl, 0, wxEXPAND|wxTOP, 5 ); | ||
2779 | 51 | |||
2780 | 52 | wxString m_OutputSeparatorCtrlChoices[] = { _("Tab"), _(";"), _(",") }; | ||
2781 | 53 | int m_OutputSeparatorCtrlNChoices = sizeof( m_OutputSeparatorCtrlChoices ) / sizeof( wxString ); | ||
2782 | 54 | m_OutputSeparatorCtrl = new wxRadioBox( this, wxID_ANY, _("Field separator for spreadsheet import:"), wxDefaultPosition, wxDefaultSize, m_OutputSeparatorCtrlNChoices, m_OutputSeparatorCtrlChoices, 1, wxRA_SPECIFY_ROWS ); | ||
2783 | 55 | m_OutputSeparatorCtrl->SetSelection( 0 ); | ||
2784 | 56 | sbOptionsSizer->Add( m_OutputSeparatorCtrl, 0, wxEXPAND|wxTOP, 5 ); | ||
2785 | 57 | |||
2786 | 58 | m_GetListBrowser = new wxCheckBox( this, wxID_ANY, _("Launch list browser"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2787 | 59 | sbOptionsSizer->Add( m_GetListBrowser, 0, wxALL|wxEXPAND, 5 ); | ||
2788 | 60 | |||
2789 | 61 | |||
2790 | 62 | bSizerUpper->Add( sbOptionsSizer, 3, wxALL|wxEXPAND, 5 ); | ||
2791 | 63 | |||
2792 | 64 | wxBoxSizer* bRightSizer; | ||
2793 | 65 | bRightSizer = new wxBoxSizer( wxVERTICAL ); | ||
2794 | 66 | |||
2795 | 67 | wxStaticBoxSizer* sbAddToListSelectionSizer; | ||
2796 | 68 | sbAddToListSelectionSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Add to list:") ), wxVERTICAL ); | ||
2797 | 69 | |||
2798 | 70 | m_AddLocationField = new wxCheckBox( this, wxID_ANY, _("Component location"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2799 | 71 | sbAddToListSelectionSizer->Add( m_AddLocationField, 0, wxALL, 5 ); | ||
2800 | 72 | |||
2801 | 73 | wxStaticBoxSizer* sbFixedFieldsSizer; | ||
2802 | 74 | sbFixedFieldsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("System Fields:") ), wxVERTICAL ); | ||
2803 | 75 | |||
2804 | 76 | m_AddDatasheetField = new wxCheckBox( this, wxID_ANY, _("Datasheet"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2805 | 77 | sbFixedFieldsSizer->Add( m_AddDatasheetField, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); | ||
2806 | 78 | |||
2807 | 79 | m_AddFootprintField = new wxCheckBox( this, wxID_ANY, _("Footprint"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2808 | 80 | sbFixedFieldsSizer->Add( m_AddFootprintField, 0, wxALL|wxEXPAND, 5 ); | ||
2809 | 81 | |||
2810 | 82 | |||
2811 | 83 | sbAddToListSelectionSizer->Add( sbFixedFieldsSizer, 0, wxEXPAND, 5 ); | ||
2812 | 84 | |||
2813 | 85 | wxStaticBoxSizer* sbUsersFiledsSizer; | ||
2814 | 86 | sbUsersFiledsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Users fields:") ), wxVERTICAL ); | ||
2815 | 87 | |||
2816 | 88 | m_AddField1 = new wxCheckBox( this, wxID_ANY, _("Field 1"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2817 | 89 | sbUsersFiledsSizer->Add( m_AddField1, 0, wxEXPAND|wxALL, 5 ); | ||
2818 | 90 | |||
2819 | 91 | m_AddField2 = new wxCheckBox( this, wxID_ANY, _("Field 2"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2820 | 92 | sbUsersFiledsSizer->Add( m_AddField2, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2821 | 93 | |||
2822 | 94 | m_AddField3 = new wxCheckBox( this, wxID_ANY, _("Field 3"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2823 | 95 | sbUsersFiledsSizer->Add( m_AddField3, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2824 | 96 | |||
2825 | 97 | m_AddField4 = new wxCheckBox( this, wxID_ANY, _("Field 4"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2826 | 98 | sbUsersFiledsSizer->Add( m_AddField4, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2827 | 99 | |||
2828 | 100 | m_AddField5 = new wxCheckBox( this, wxID_ANY, _("Field 5"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2829 | 101 | sbUsersFiledsSizer->Add( m_AddField5, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2830 | 102 | |||
2831 | 103 | m_AddField6 = new wxCheckBox( this, wxID_ANY, _("Field 6"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2832 | 104 | sbUsersFiledsSizer->Add( m_AddField6, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2833 | 105 | |||
2834 | 106 | m_AddField7 = new wxCheckBox( this, wxID_ANY, _("Field 7"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2835 | 107 | sbUsersFiledsSizer->Add( m_AddField7, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2836 | 108 | |||
2837 | 109 | m_AddField8 = new wxCheckBox( this, wxID_ANY, _("Field 8"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2838 | 110 | sbUsersFiledsSizer->Add( m_AddField8, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); | ||
2839 | 111 | |||
2840 | 112 | |||
2841 | 113 | sbAddToListSelectionSizer->Add( sbUsersFiledsSizer, 0, wxEXPAND|wxTOP, 5 ); | ||
2842 | 114 | |||
2843 | 115 | m_AddAllFields = new wxCheckBox( this, wxID_ANY, _("All existing user fields"), wxDefaultPosition, wxDefaultSize, 0 ); | ||
2844 | 116 | sbAddToListSelectionSizer->Add( m_AddAllFields, 0, wxALL, 5 ); | ||
2845 | 117 | |||
2846 | 118 | |||
2847 | 119 | bRightSizer->Add( sbAddToListSelectionSizer, 1, wxEXPAND, 5 ); | ||
2848 | 120 | |||
2849 | 121 | |||
2850 | 122 | bSizerUpper->Add( bRightSizer, 2, wxALL|wxEXPAND, 5 ); | ||
2851 | 123 | |||
2852 | 124 | |||
2853 | 125 | bMainSizer->Add( bSizerUpper, 1, wxEXPAND, 5 ); | ||
2854 | 126 | |||
2855 | 127 | m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); | ||
2856 | 128 | bMainSizer->Add( m_staticline1, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); | ||
2857 | 129 | |||
2858 | 130 | m_sdbSizer = new wxStdDialogButtonSizer(); | ||
2859 | 131 | m_sdbSizerOK = new wxButton( this, wxID_OK ); | ||
2860 | 132 | m_sdbSizer->AddButton( m_sdbSizerOK ); | ||
2861 | 133 | m_sdbSizerCancel = new wxButton( this, wxID_CANCEL ); | ||
2862 | 134 | m_sdbSizer->AddButton( m_sdbSizerCancel ); | ||
2863 | 135 | m_sdbSizer->Realize(); | ||
2864 | 136 | |||
2865 | 137 | bMainSizer->Add( m_sdbSizer, 0, wxALL|wxEXPAND, 5 ); | ||
2866 | 138 | |||
2867 | 139 | |||
2868 | 140 | this->SetSizer( bMainSizer ); | ||
2869 | 141 | this->Layout(); | ||
2870 | 142 | bMainSizer->Fit( this ); | ||
2871 | 143 | |||
2872 | 144 | // Connect Events | ||
2873 | 145 | m_OutputFormCtrl->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_BUILD_BOM_BASE::OnRadioboxSelectFormatSelected ), NULL, this ); | ||
2874 | 146 | m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BUILD_BOM_BASE::OnCancelClick ), NULL, this ); | ||
2875 | 147 | m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BUILD_BOM_BASE::OnOkClick ), NULL, this ); | ||
2876 | 148 | } | ||
2877 | 149 | |||
2878 | 150 | DIALOG_BUILD_BOM_BASE::~DIALOG_BUILD_BOM_BASE() | ||
2879 | 151 | { | ||
2880 | 152 | // Disconnect Events | ||
2881 | 153 | m_OutputFormCtrl->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_BUILD_BOM_BASE::OnRadioboxSelectFormatSelected ), NULL, this ); | ||
2882 | 154 | m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BUILD_BOM_BASE::OnCancelClick ), NULL, this ); | ||
2883 | 155 | m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BUILD_BOM_BASE::OnOkClick ), NULL, this ); | ||
2884 | 156 | |||
2885 | 157 | } | ||
2886 | 0 | 158 | ||
2887 | === added file 'eeschema/BOM/dialogs/dialog_build_BOM_base.fbp' | |||
2888 | --- eeschema/BOM/dialogs/dialog_build_BOM_base.fbp 1970-01-01 00:00:00 +0000 | |||
2889 | +++ eeschema/BOM/dialogs/dialog_build_BOM_base.fbp 2015-06-20 07:42:20 +0000 | |||
2890 | @@ -0,0 +1,2060 @@ | |||
2891 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | ||
2892 | 2 | <wxFormBuilder_Project> | ||
2893 | 3 | <FileVersion major="1" minor="11" /> | ||
2894 | 4 | <object class="Project" expanded="1"> | ||
2895 | 5 | <property name="class_decoration"></property> | ||
2896 | 6 | <property name="code_generation">C++</property> | ||
2897 | 7 | <property name="disconnect_events">1</property> | ||
2898 | 8 | <property name="disconnect_mode">source_name</property> | ||
2899 | 9 | <property name="disconnect_php_events">0</property> | ||
2900 | 10 | <property name="disconnect_python_events">0</property> | ||
2901 | 11 | <property name="embedded_files_path">res</property> | ||
2902 | 12 | <property name="encoding">UTF-8</property> | ||
2903 | 13 | <property name="event_generation">connect</property> | ||
2904 | 14 | <property name="file">dialog_build_BOM_base</property> | ||
2905 | 15 | <property name="first_id">1000</property> | ||
2906 | 16 | <property name="help_provider">none</property> | ||
2907 | 17 | <property name="internationalize">1</property> | ||
2908 | 18 | <property name="name">dialog_build_BOM_base</property> | ||
2909 | 19 | <property name="namespace"></property> | ||
2910 | 20 | <property name="path">.</property> | ||
2911 | 21 | <property name="precompiled_header"></property> | ||
2912 | 22 | <property name="relative_path">1</property> | ||
2913 | 23 | <property name="skip_php_events">1</property> | ||
2914 | 24 | <property name="skip_python_events">1</property> | ||
2915 | 25 | <property name="use_enum">1</property> | ||
2916 | 26 | <property name="use_microsoft_bom">0</property> | ||
2917 | 27 | <object class="Dialog" expanded="1"> | ||
2918 | 28 | <property name="aui_managed">0</property> | ||
2919 | 29 | <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> | ||
2920 | 30 | <property name="bg"></property> | ||
2921 | 31 | <property name="center"></property> | ||
2922 | 32 | <property name="context_help"></property> | ||
2923 | 33 | <property name="context_menu">1</property> | ||
2924 | 34 | <property name="enabled">1</property> | ||
2925 | 35 | <property name="event_handler">impl_virtual</property> | ||
2926 | 36 | <property name="extra_style"></property> | ||
2927 | 37 | <property name="fg"></property> | ||
2928 | 38 | <property name="font"></property> | ||
2929 | 39 | <property name="hidden">0</property> | ||
2930 | 40 | <property name="id">wxID_ANY</property> | ||
2931 | 41 | <property name="maximum_size"></property> | ||
2932 | 42 | <property name="minimum_size"></property> | ||
2933 | 43 | <property name="name">DIALOG_BUILD_BOM_BASE</property> | ||
2934 | 44 | <property name="pos"></property> | ||
2935 | 45 | <property name="size">-1,-1</property> | ||
2936 | 46 | <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> | ||
2937 | 47 | <property name="subclass">DIALOG_SHIM; dialog_shim.h</property> | ||
2938 | 48 | <property name="title">List of Materials</property> | ||
2939 | 49 | <property name="tooltip"></property> | ||
2940 | 50 | <property name="window_extra_style"></property> | ||
2941 | 51 | <property name="window_name"></property> | ||
2942 | 52 | <property name="window_style"></property> | ||
2943 | 53 | <event name="OnActivate"></event> | ||
2944 | 54 | <event name="OnActivateApp"></event> | ||
2945 | 55 | <event name="OnAuiFindManager"></event> | ||
2946 | 56 | <event name="OnAuiPaneButton"></event> | ||
2947 | 57 | <event name="OnAuiPaneClose"></event> | ||
2948 | 58 | <event name="OnAuiPaneMaximize"></event> | ||
2949 | 59 | <event name="OnAuiPaneRestore"></event> | ||
2950 | 60 | <event name="OnAuiRender"></event> | ||
2951 | 61 | <event name="OnChar"></event> | ||
2952 | 62 | <event name="OnClose"></event> | ||
2953 | 63 | <event name="OnEnterWindow"></event> | ||
2954 | 64 | <event name="OnEraseBackground"></event> | ||
2955 | 65 | <event name="OnHibernate"></event> | ||
2956 | 66 | <event name="OnIconize"></event> | ||
2957 | 67 | <event name="OnIdle"></event> | ||
2958 | 68 | <event name="OnInitDialog"></event> | ||
2959 | 69 | <event name="OnKeyDown"></event> | ||
2960 | 70 | <event name="OnKeyUp"></event> | ||
2961 | 71 | <event name="OnKillFocus"></event> | ||
2962 | 72 | <event name="OnLeaveWindow"></event> | ||
2963 | 73 | <event name="OnLeftDClick"></event> | ||
2964 | 74 | <event name="OnLeftDown"></event> | ||
2965 | 75 | <event name="OnLeftUp"></event> | ||
2966 | 76 | <event name="OnMiddleDClick"></event> | ||
2967 | 77 | <event name="OnMiddleDown"></event> | ||
2968 | 78 | <event name="OnMiddleUp"></event> | ||
2969 | 79 | <event name="OnMotion"></event> | ||
2970 | 80 | <event name="OnMouseEvents"></event> | ||
2971 | 81 | <event name="OnMouseWheel"></event> | ||
2972 | 82 | <event name="OnPaint"></event> | ||
2973 | 83 | <event name="OnRightDClick"></event> | ||
2974 | 84 | <event name="OnRightDown"></event> | ||
2975 | 85 | <event name="OnRightUp"></event> | ||
2976 | 86 | <event name="OnSetFocus"></event> | ||
2977 | 87 | <event name="OnSize"></event> | ||
2978 | 88 | <event name="OnUpdateUI"></event> | ||
2979 | 89 | <object class="wxBoxSizer" expanded="1"> | ||
2980 | 90 | <property name="minimum_size"></property> | ||
2981 | 91 | <property name="name">bMainSizer</property> | ||
2982 | 92 | <property name="orient">wxVERTICAL</property> | ||
2983 | 93 | <property name="permission">none</property> | ||
2984 | 94 | <object class="sizeritem" expanded="1"> | ||
2985 | 95 | <property name="border">5</property> | ||
2986 | 96 | <property name="flag">wxEXPAND</property> | ||
2987 | 97 | <property name="proportion">1</property> | ||
2988 | 98 | <object class="wxBoxSizer" expanded="1"> | ||
2989 | 99 | <property name="minimum_size"></property> | ||
2990 | 100 | <property name="name">bSizerUpper</property> | ||
2991 | 101 | <property name="orient">wxHORIZONTAL</property> | ||
2992 | 102 | <property name="permission">none</property> | ||
2993 | 103 | <object class="sizeritem" expanded="1"> | ||
2994 | 104 | <property name="border">5</property> | ||
2995 | 105 | <property name="flag">wxALL|wxEXPAND</property> | ||
2996 | 106 | <property name="proportion">3</property> | ||
2997 | 107 | <object class="wxStaticBoxSizer" expanded="1"> | ||
2998 | 108 | <property name="id">wxID_ANY</property> | ||
2999 | 109 | <property name="label">Options:</property> | ||
3000 | 110 | <property name="minimum_size"></property> | ||
3001 | 111 | <property name="name">sbOptionsSizer</property> | ||
3002 | 112 | <property name="orient">wxVERTICAL</property> | ||
3003 | 113 | <property name="permission">none</property> | ||
3004 | 114 | <event name="OnUpdateUI"></event> | ||
3005 | 115 | <object class="sizeritem" expanded="1"> | ||
3006 | 116 | <property name="border">5</property> | ||
3007 | 117 | <property name="flag">wxEXPAND</property> | ||
3008 | 118 | <property name="proportion">0</property> | ||
3009 | 119 | <object class="wxStaticBoxSizer" expanded="0"> | ||
3010 | 120 | <property name="id">wxID_ANY</property> | ||
3011 | 121 | <property name="label">List items:</property> | ||
3012 | 122 | <property name="minimum_size"></property> | ||
3013 | 123 | <property name="name">sbListOptionsSizer</property> | ||
3014 | 124 | <property name="orient">wxVERTICAL</property> | ||
3015 | 125 | <property name="permission">none</property> | ||
3016 | 126 | <event name="OnUpdateUI"></event> | ||
3017 | 127 | <object class="sizeritem" expanded="1"> | ||
3018 | 128 | <property name="border">5</property> | ||
3019 | 129 | <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> | ||
3020 | 130 | <property name="proportion">0</property> | ||
3021 | 131 | <object class="wxCheckBox" expanded="1"> | ||
3022 | 132 | <property name="BottomDockable">1</property> | ||
3023 | 133 | <property name="LeftDockable">1</property> | ||
3024 | 134 | <property name="RightDockable">1</property> | ||
3025 | 135 | <property name="TopDockable">1</property> | ||
3026 | 136 | <property name="aui_layer"></property> | ||
3027 | 137 | <property name="aui_name"></property> | ||
3028 | 138 | <property name="aui_position"></property> | ||
3029 | 139 | <property name="aui_row"></property> | ||
3030 | 140 | <property name="best_size"></property> | ||
3031 | 141 | <property name="bg"></property> | ||
3032 | 142 | <property name="caption"></property> | ||
3033 | 143 | <property name="caption_visible">1</property> | ||
3034 | 144 | <property name="center_pane">0</property> | ||
3035 | 145 | <property name="checked">0</property> | ||
3036 | 146 | <property name="close_button">1</property> | ||
3037 | 147 | <property name="context_help"></property> | ||
3038 | 148 | <property name="context_menu">1</property> | ||
3039 | 149 | <property name="default_pane">0</property> | ||
3040 | 150 | <property name="dock">Dock</property> | ||
3041 | 151 | <property name="dock_fixed">0</property> | ||
3042 | 152 | <property name="docking">Left</property> | ||
3043 | 153 | <property name="enabled">1</property> | ||
3044 | 154 | <property name="fg"></property> | ||
3045 | 155 | <property name="floatable">1</property> | ||
3046 | 156 | <property name="font"></property> | ||
3047 | 157 | <property name="gripper">0</property> | ||
3048 | 158 | <property name="hidden">0</property> | ||
3049 | 159 | <property name="id">wxID_ANY</property> | ||
3050 | 160 | <property name="label">Components by reference</property> | ||
3051 | 161 | <property name="max_size"></property> | ||
3052 | 162 | <property name="maximize_button">0</property> | ||
3053 | 163 | <property name="maximum_size"></property> | ||
3054 | 164 | <property name="min_size"></property> | ||
3055 | 165 | <property name="minimize_button">0</property> | ||
3056 | 166 | <property name="minimum_size"></property> | ||
3057 | 167 | <property name="moveable">1</property> | ||
3058 | 168 | <property name="name">m_ListCmpbyRefItems</property> | ||
3059 | 169 | <property name="pane_border">1</property> | ||
3060 | 170 | <property name="pane_position"></property> | ||
3061 | 171 | <property name="pane_size"></property> | ||
3062 | 172 | <property name="permission">protected</property> | ||
3063 | 173 | <property name="pin_button">1</property> | ||
3064 | 174 | <property name="pos"></property> | ||
3065 | 175 | <property name="resize">Resizable</property> | ||
3066 | 176 | <property name="show">1</property> | ||
3067 | 177 | <property name="size"></property> | ||
3068 | 178 | <property name="style"></property> | ||
3069 | 179 | <property name="subclass"></property> | ||
3070 | 180 | <property name="toolbar_pane">0</property> | ||
3071 | 181 | <property name="tooltip"></property> | ||
3072 | 182 | <property name="validator_data_type"></property> | ||
3073 | 183 | <property name="validator_style">wxFILTER_NONE</property> | ||
3074 | 184 | <property name="validator_type">wxDefaultValidator</property> | ||
3075 | 185 | <property name="validator_variable"></property> | ||
3076 | 186 | <property name="window_extra_style"></property> | ||
3077 | 187 | <property name="window_name"></property> | ||
3078 | 188 | <property name="window_style"></property> | ||
3079 | 189 | <event name="OnChar"></event> | ||
3080 | 190 | <event name="OnCheckBox"></event> | ||
3081 | 191 | <event name="OnEnterWindow"></event> | ||
3082 | 192 | <event name="OnEraseBackground"></event> | ||
3083 | 193 | <event name="OnKeyDown"></event> | ||
3084 | 194 | <event name="OnKeyUp"></event> | ||
3085 | 195 | <event name="OnKillFocus"></event> | ||
3086 | 196 | <event name="OnLeaveWindow"></event> | ||
3087 | 197 | <event name="OnLeftDClick"></event> | ||
3088 | 198 | <event name="OnLeftDown"></event> | ||
3089 | 199 | <event name="OnLeftUp"></event> | ||
3090 | 200 | <event name="OnMiddleDClick"></event> | ||
3091 | 201 | <event name="OnMiddleDown"></event> | ||
3092 | 202 | <event name="OnMiddleUp"></event> | ||
3093 | 203 | <event name="OnMotion"></event> | ||
3094 | 204 | <event name="OnMouseEvents"></event> | ||
3095 | 205 | <event name="OnMouseWheel"></event> | ||
3096 | 206 | <event name="OnPaint"></event> | ||
3097 | 207 | <event name="OnRightDClick"></event> | ||
3098 | 208 | <event name="OnRightDown"></event> | ||
3099 | 209 | <event name="OnRightUp"></event> | ||
3100 | 210 | <event name="OnSetFocus"></event> | ||
3101 | 211 | <event name="OnSize"></event> | ||
3102 | 212 | <event name="OnUpdateUI"></event> | ||
3103 | 213 | </object> | ||
3104 | 214 | </object> | ||
3105 | 215 | <object class="sizeritem" expanded="1"> | ||
3106 | 216 | <property name="border">5</property> | ||
3107 | 217 | <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> | ||
3108 | 218 | <property name="proportion">0</property> | ||
3109 | 219 | <object class="wxCheckBox" expanded="1"> | ||
3110 | 220 | <property name="BottomDockable">1</property> | ||
3111 | 221 | <property name="LeftDockable">1</property> | ||
3112 | 222 | <property name="RightDockable">1</property> | ||
3113 | 223 | <property name="TopDockable">1</property> | ||
3114 | 224 | <property name="aui_layer"></property> | ||
3115 | 225 | <property name="aui_name"></property> | ||
3116 | 226 | <property name="aui_position"></property> | ||
3117 | 227 | <property name="aui_row"></property> | ||
3118 | 228 | <property name="best_size"></property> | ||
3119 | 229 | <property name="bg"></property> | ||
3120 | 230 | <property name="caption"></property> | ||
3121 | 231 | <property name="caption_visible">1</property> | ||
3122 | 232 | <property name="center_pane">0</property> | ||
3123 | 233 | <property name="checked">0</property> | ||
3124 | 234 | <property name="close_button">1</property> | ||
3125 | 235 | <property name="context_help"></property> | ||
3126 | 236 | <property name="context_menu">1</property> | ||
3127 | 237 | <property name="default_pane">0</property> | ||
3128 | 238 | <property name="dock">Dock</property> | ||
3129 | 239 | <property name="dock_fixed">0</property> | ||
3130 | 240 | <property name="docking">Left</property> | ||
3131 | 241 | <property name="enabled">1</property> | ||
3132 | 242 | <property name="fg"></property> | ||
3133 | 243 | <property name="floatable">1</property> | ||
3134 | 244 | <property name="font"></property> | ||
3135 | 245 | <property name="gripper">0</property> | ||
3136 | 246 | <property name="hidden">0</property> | ||
3137 | 247 | <property name="id">wxID_ANY</property> | ||
3138 | 248 | <property name="label">Sub components (i.e. U2A, U2B ...)</property> | ||
3139 | 249 | <property name="max_size"></property> | ||
3140 | 250 | <property name="maximize_button">0</property> | ||
3141 | 251 | <property name="maximum_size"></property> | ||
3142 | 252 | <property name="min_size"></property> | ||
3143 | 253 | <property name="minimize_button">0</property> | ||
3144 | 254 | <property name="minimum_size"></property> | ||
3145 | 255 | <property name="moveable">1</property> | ||
3146 | 256 | <property name="name">m_ListSubCmpItems</property> | ||
3147 | 257 | <property name="pane_border">1</property> | ||
3148 | 258 | <property name="pane_position"></property> | ||
3149 | 259 | <property name="pane_size"></property> | ||
3150 | 260 | <property name="permission">protected</property> | ||
3151 | 261 | <property name="pin_button">1</property> | ||
3152 | 262 | <property name="pos"></property> | ||
3153 | 263 | <property name="resize">Resizable</property> | ||
3154 | 264 | <property name="show">1</property> | ||
3155 | 265 | <property name="size"></property> | ||
3156 | 266 | <property name="style"></property> | ||
3157 | 267 | <property name="subclass"></property> | ||
3158 | 268 | <property name="toolbar_pane">0</property> | ||
3159 | 269 | <property name="tooltip"></property> | ||
3160 | 270 | <property name="validator_data_type"></property> | ||
3161 | 271 | <property name="validator_style">wxFILTER_NONE</property> | ||
3162 | 272 | <property name="validator_type">wxDefaultValidator</property> | ||
3163 | 273 | <property name="validator_variable"></property> | ||
3164 | 274 | <property name="window_extra_style"></property> | ||
3165 | 275 | <property name="window_name"></property> | ||
3166 | 276 | <property name="window_style"></property> | ||
3167 | 277 | <event name="OnChar"></event> | ||
3168 | 278 | <event name="OnCheckBox"></event> | ||
3169 | 279 | <event name="OnEnterWindow"></event> | ||
3170 | 280 | <event name="OnEraseBackground"></event> | ||
3171 | 281 | <event name="OnKeyDown"></event> | ||
3172 | 282 | <event name="OnKeyUp"></event> | ||
3173 | 283 | <event name="OnKillFocus"></event> | ||
3174 | 284 | <event name="OnLeaveWindow"></event> | ||
3175 | 285 | <event name="OnLeftDClick"></event> | ||
3176 | 286 | <event name="OnLeftDown"></event> | ||
3177 | 287 | <event name="OnLeftUp"></event> | ||
3178 | 288 | <event name="OnMiddleDClick"></event> | ||
3179 | 289 | <event name="OnMiddleDown"></event> | ||
3180 | 290 | <event name="OnMiddleUp"></event> | ||
3181 | 291 | <event name="OnMotion"></event> | ||
3182 | 292 | <event name="OnMouseEvents"></event> | ||
3183 | 293 | <event name="OnMouseWheel"></event> | ||
3184 | 294 | <event name="OnPaint"></event> | ||
3185 | 295 | <event name="OnRightDClick"></event> | ||
3186 | 296 | <event name="OnRightDown"></event> | ||
3187 | 297 | <event name="OnRightUp"></event> | ||
3188 | 298 | <event name="OnSetFocus"></event> | ||
3189 | 299 | <event name="OnSize"></event> | ||
3190 | 300 | <event name="OnUpdateUI"></event> | ||
3191 | 301 | </object> | ||
3192 | 302 | </object> | ||
3193 | 303 | <object class="sizeritem" expanded="1"> | ||
3194 | 304 | <property name="border">5</property> | ||
3195 | 305 | <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> | ||
3196 | 306 | <property name="proportion">0</property> | ||
3197 | 307 | <object class="wxCheckBox" expanded="1"> | ||
3198 | 308 | <property name="BottomDockable">1</property> | ||
3199 | 309 | <property name="LeftDockable">1</property> | ||
3200 | 310 | <property name="RightDockable">1</property> | ||
3201 | 311 | <property name="TopDockable">1</property> | ||
3202 | 312 | <property name="aui_layer"></property> | ||
3203 | 313 | <property name="aui_name"></property> | ||
3204 | 314 | <property name="aui_position"></property> | ||
3205 | 315 | <property name="aui_row"></property> | ||
3206 | 316 | <property name="best_size"></property> | ||
3207 | 317 | <property name="bg"></property> | ||
3208 | 318 | <property name="caption"></property> | ||
3209 | 319 | <property name="caption_visible">1</property> | ||
3210 | 320 | <property name="center_pane">0</property> | ||
3211 | 321 | <property name="checked">0</property> | ||
3212 | 322 | <property name="close_button">1</property> | ||
3213 | 323 | <property name="context_help"></property> | ||
3214 | 324 | <property name="context_menu">1</property> | ||
3215 | 325 | <property name="default_pane">0</property> | ||
3216 | 326 | <property name="dock">Dock</property> | ||
3217 | 327 | <property name="dock_fixed">0</property> | ||
3218 | 328 | <property name="docking">Left</property> | ||
3219 | 329 | <property name="enabled">1</property> | ||
3220 | 330 | <property name="fg"></property> | ||
3221 | 331 | <property name="floatable">1</property> | ||
3222 | 332 | <property name="font"></property> | ||
3223 | 333 | <property name="gripper">0</property> | ||
3224 | 334 | <property name="hidden">0</property> | ||
3225 | 335 | <property name="id">wxID_ANY</property> | ||
3226 | 336 | <property name="label">Components by value</property> | ||
3227 | 337 | <property name="max_size"></property> | ||
3228 | 338 | <property name="maximize_button">0</property> | ||
3229 | 339 | <property name="maximum_size"></property> | ||
3230 | 340 | <property name="min_size"></property> | ||
3231 | 341 | <property name="minimize_button">0</property> | ||
3232 | 342 | <property name="minimum_size"></property> | ||
3233 | 343 | <property name="moveable">1</property> | ||
3234 | 344 | <property name="name">m_ListCmpbyValItems</property> | ||
3235 | 345 | <property name="pane_border">1</property> | ||
3236 | 346 | <property name="pane_position"></property> | ||
3237 | 347 | <property name="pane_size"></property> | ||
3238 | 348 | <property name="permission">protected</property> | ||
3239 | 349 | <property name="pin_button">1</property> | ||
3240 | 350 | <property name="pos"></property> | ||
3241 | 351 | <property name="resize">Resizable</property> | ||
3242 | 352 | <property name="show">1</property> | ||
3243 | 353 | <property name="size"></property> | ||
3244 | 354 | <property name="style"></property> | ||
3245 | 355 | <property name="subclass"></property> | ||
3246 | 356 | <property name="toolbar_pane">0</property> | ||
3247 | 357 | <property name="tooltip"></property> | ||
3248 | 358 | <property name="validator_data_type"></property> | ||
3249 | 359 | <property name="validator_style">wxFILTER_NONE</property> | ||
3250 | 360 | <property name="validator_type">wxDefaultValidator</property> | ||
3251 | 361 | <property name="validator_variable"></property> | ||
3252 | 362 | <property name="window_extra_style"></property> | ||
3253 | 363 | <property name="window_name"></property> | ||
3254 | 364 | <property name="window_style"></property> | ||
3255 | 365 | <event name="OnChar"></event> | ||
3256 | 366 | <event name="OnCheckBox"></event> | ||
3257 | 367 | <event name="OnEnterWindow"></event> | ||
3258 | 368 | <event name="OnEraseBackground"></event> | ||
3259 | 369 | <event name="OnKeyDown"></event> | ||
3260 | 370 | <event name="OnKeyUp"></event> | ||
3261 | 371 | <event name="OnKillFocus"></event> | ||
3262 | 372 | <event name="OnLeaveWindow"></event> | ||
3263 | 373 | <event name="OnLeftDClick"></event> | ||
3264 | 374 | <event name="OnLeftDown"></event> | ||
3265 | 375 | <event name="OnLeftUp"></event> | ||
3266 | 376 | <event name="OnMiddleDClick"></event> | ||
3267 | 377 | <event name="OnMiddleDown"></event> | ||
3268 | 378 | <event name="OnMiddleUp"></event> | ||
3269 | 379 | <event name="OnMotion"></event> | ||
3270 | 380 | <event name="OnMouseEvents"></event> | ||
3271 | 381 | <event name="OnMouseWheel"></event> | ||
3272 | 382 | <event name="OnPaint"></event> | ||
3273 | 383 | <event name="OnRightDClick"></event> | ||
3274 | 384 | <event name="OnRightDown"></event> | ||
3275 | 385 | <event name="OnRightUp"></event> | ||
3276 | 386 | <event name="OnSetFocus"></event> | ||
3277 | 387 | <event name="OnSize"></event> | ||
3278 | 388 | <event name="OnUpdateUI"></event> | ||
3279 | 389 | </object> | ||
3280 | 390 | </object> | ||
3281 | 391 | <object class="sizeritem" expanded="1"> | ||
3282 | 392 | <property name="border">5</property> | ||
3283 | 393 | <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> | ||
3284 | 394 | <property name="proportion">0</property> | ||
3285 | 395 | <object class="wxCheckBox" expanded="1"> | ||
3286 | 396 | <property name="BottomDockable">1</property> | ||
3287 | 397 | <property name="LeftDockable">1</property> | ||
3288 | 398 | <property name="RightDockable">1</property> | ||
3289 | 399 | <property name="TopDockable">1</property> | ||
3290 | 400 | <property name="aui_layer"></property> | ||
3291 | 401 | <property name="aui_name"></property> | ||
3292 | 402 | <property name="aui_position"></property> | ||
3293 | 403 | <property name="aui_row"></property> | ||
3294 | 404 | <property name="best_size"></property> | ||
3295 | 405 | <property name="bg"></property> | ||
3296 | 406 | <property name="caption"></property> | ||
3297 | 407 | <property name="caption_visible">1</property> | ||
3298 | 408 | <property name="center_pane">0</property> | ||
3299 | 409 | <property name="checked">0</property> | ||
3300 | 410 | <property name="close_button">1</property> | ||
3301 | 411 | <property name="context_help"></property> | ||
3302 | 412 | <property name="context_menu">1</property> | ||
3303 | 413 | <property name="default_pane">0</property> | ||
3304 | 414 | <property name="dock">Dock</property> | ||
3305 | 415 | <property name="dock_fixed">0</property> | ||
3306 | 416 | <property name="docking">Left</property> | ||
3307 | 417 | <property name="enabled">1</property> | ||
3308 | 418 | <property name="fg"></property> | ||
3309 | 419 | <property name="floatable">1</property> | ||
3310 | 420 | <property name="font"></property> | ||
3311 | 421 | <property name="gripper">0</property> | ||
3312 | 422 | <property name="hidden">0</property> | ||
3313 | 423 | <property name="id">wxID_ANY</property> | ||
3314 | 424 | <property name="label">Hierarchical pins by name</property> | ||
3315 | 425 | <property name="max_size"></property> | ||
3316 | 426 | <property name="maximize_button">0</property> | ||
3317 | 427 | <property name="maximum_size"></property> | ||
3318 | 428 | <property name="min_size"></property> | ||
3319 | 429 | <property name="minimize_button">0</property> | ||
3320 | 430 | <property name="minimum_size"></property> | ||
3321 | 431 | <property name="moveable">1</property> | ||
3322 | 432 | <property name="name">m_GenListLabelsbyVal</property> | ||
3323 | 433 | <property name="pane_border">1</property> | ||
3324 | 434 | <property name="pane_position"></property> | ||
3325 | 435 | <property name="pane_size"></property> | ||
3326 | 436 | <property name="permission">protected</property> | ||
3327 | 437 | <property name="pin_button">1</property> | ||
3328 | 438 | <property name="pos"></property> | ||
3329 | 439 | <property name="resize">Resizable</property> | ||
3330 | 440 | <property name="show">1</property> | ||
3331 | 441 | <property name="size"></property> | ||
3332 | 442 | <property name="style"></property> | ||
3333 | 443 | <property name="subclass"></property> | ||
3334 | 444 | <property name="toolbar_pane">0</property> | ||
3335 | 445 | <property name="tooltip"></property> | ||
3336 | 446 | <property name="validator_data_type"></property> | ||
3337 | 447 | <property name="validator_style">wxFILTER_NONE</property> | ||
3338 | 448 | <property name="validator_type">wxDefaultValidator</property> | ||
3339 | 449 | <property name="validator_variable"></property> | ||
3340 | 450 | <property name="window_extra_style"></property> | ||
3341 | 451 | <property name="window_name"></property> | ||
3342 | 452 | <property name="window_style"></property> | ||
3343 | 453 | <event name="OnChar"></event> | ||
3344 | 454 | <event name="OnCheckBox"></event> | ||
3345 | 455 | <event name="OnEnterWindow"></event> | ||
3346 | 456 | <event name="OnEraseBackground"></event> | ||
3347 | 457 | <event name="OnKeyDown"></event> | ||
3348 | 458 | <event name="OnKeyUp"></event> | ||
3349 | 459 | <event name="OnKillFocus"></event> | ||
3350 | 460 | <event name="OnLeaveWindow"></event> | ||
3351 | 461 | <event name="OnLeftDClick"></event> | ||
3352 | 462 | <event name="OnLeftDown"></event> | ||
3353 | 463 | <event name="OnLeftUp"></event> | ||
3354 | 464 | <event name="OnMiddleDClick"></event> | ||
3355 | 465 | <event name="OnMiddleDown"></event> | ||
3356 | 466 | <event name="OnMiddleUp"></event> | ||
3357 | 467 | <event name="OnMotion"></event> | ||
3358 | 468 | <event name="OnMouseEvents"></event> | ||
3359 | 469 | <event name="OnMouseWheel"></event> | ||
3360 | 470 | <event name="OnPaint"></event> | ||
3361 | 471 | <event name="OnRightDClick"></event> | ||
3362 | 472 | <event name="OnRightDown"></event> | ||
3363 | 473 | <event name="OnRightUp"></event> | ||
3364 | 474 | <event name="OnSetFocus"></event> | ||
3365 | 475 | <event name="OnSize"></event> | ||
3366 | 476 | <event name="OnUpdateUI"></event> | ||
3367 | 477 | </object> | ||
3368 | 478 | </object> | ||
3369 | 479 | <object class="sizeritem" expanded="1"> | ||
3370 | 480 | <property name="border">5</property> | ||
3371 | 481 | <property name="flag">wxALL</property> | ||
3372 | 482 | <property name="proportion">0</property> | ||
3373 | 483 | <object class="wxCheckBox" expanded="1"> | ||
3374 | 484 | <property name="BottomDockable">1</property> | ||
3375 | 485 | <property name="LeftDockable">1</property> | ||
3376 | 486 | <property name="RightDockable">1</property> | ||
3377 | 487 | <property name="TopDockable">1</property> | ||
3378 | 488 | <property name="aui_layer"></property> | ||
3379 | 489 | <property name="aui_name"></property> | ||
3380 | 490 | <property name="aui_position"></property> | ||
3381 | 491 | <property name="aui_row"></property> | ||
3382 | 492 | <property name="best_size"></property> | ||
3383 | 493 | <property name="bg"></property> | ||
3384 | 494 | <property name="caption"></property> | ||
3385 | 495 | <property name="caption_visible">1</property> | ||
3386 | 496 | <property name="center_pane">0</property> | ||
3387 | 497 | <property name="checked">0</property> | ||
3388 | 498 | <property name="close_button">1</property> | ||
3389 | 499 | <property name="context_help"></property> | ||
3390 | 500 | <property name="context_menu">1</property> | ||
3391 | 501 | <property name="default_pane">0</property> | ||
3392 | 502 | <property name="dock">Dock</property> | ||
3393 | 503 | <property name="dock_fixed">0</property> | ||
3394 | 504 | <property name="docking">Left</property> | ||
3395 | 505 | <property name="enabled">1</property> | ||
3396 | 506 | <property name="fg"></property> | ||
3397 | 507 | <property name="floatable">1</property> | ||
3398 | 508 | <property name="font"></property> | ||
3399 | 509 | <property name="gripper">0</property> | ||
3400 | 510 | <property name="hidden">0</property> | ||
3401 | 511 | <property name="id">wxID_ANY</property> | ||
3402 | 512 | <property name="label">Hierarchical pins by sheet</property> | ||
3403 | 513 | <property name="max_size"></property> | ||
3404 | 514 | <property name="maximize_button">0</property> | ||
3405 | 515 | <property name="maximum_size"></property> | ||
3406 | 516 | <property name="min_size"></property> | ||
3407 | 517 | <property name="minimize_button">0</property> | ||
3408 | 518 | <property name="minimum_size"></property> | ||
3409 | 519 | <property name="moveable">1</property> | ||
3410 | 520 | <property name="name">m_GenListLabelsbySheet</property> | ||
3411 | 521 | <property name="pane_border">1</property> | ||
3412 | 522 | <property name="pane_position"></property> | ||
3413 | 523 | <property name="pane_size"></property> | ||
3414 | 524 | <property name="permission">protected</property> | ||
3415 | 525 | <property name="pin_button">1</property> | ||
3416 | 526 | <property name="pos"></property> | ||
3417 | 527 | <property name="resize">Resizable</property> | ||
3418 | 528 | <property name="show">1</property> | ||
3419 | 529 | <property name="size"></property> | ||
3420 | 530 | <property name="style"></property> | ||
3421 | 531 | <property name="subclass"></property> | ||
3422 | 532 | <property name="toolbar_pane">0</property> | ||
3423 | 533 | <property name="tooltip"></property> | ||
3424 | 534 | <property name="validator_data_type"></property> | ||
3425 | 535 | <property name="validator_style">wxFILTER_NONE</property> | ||
3426 | 536 | <property name="validator_type">wxDefaultValidator</property> | ||
3427 | 537 | <property name="validator_variable"></property> | ||
3428 | 538 | <property name="window_extra_style"></property> | ||
3429 | 539 | <property name="window_name"></property> | ||
3430 | 540 | <property name="window_style"></property> | ||
3431 | 541 | <event name="OnChar"></event> | ||
3432 | 542 | <event name="OnCheckBox"></event> | ||
3433 | 543 | <event name="OnEnterWindow"></event> | ||
3434 | 544 | <event name="OnEraseBackground"></event> | ||
3435 | 545 | <event name="OnKeyDown"></event> | ||
3436 | 546 | <event name="OnKeyUp"></event> | ||
3437 | 547 | <event name="OnKillFocus"></event> | ||
3438 | 548 | <event name="OnLeaveWindow"></event> | ||
3439 | 549 | <event name="OnLeftDClick"></event> | ||
3440 | 550 | <event name="OnLeftDown"></event> | ||
3441 | 551 | <event name="OnLeftUp"></event> | ||
3442 | 552 | <event name="OnMiddleDClick"></event> | ||
3443 | 553 | <event name="OnMiddleDown"></event> | ||
3444 | 554 | <event name="OnMiddleUp"></event> | ||
3445 | 555 | <event name="OnMotion"></event> | ||
3446 | 556 | <event name="OnMouseEvents"></event> | ||
3447 | 557 | <event name="OnMouseWheel"></event> | ||
3448 | 558 | <event name="OnPaint"></event> | ||
3449 | 559 | <event name="OnRightDClick"></event> | ||
3450 | 560 | <event name="OnRightDown"></event> | ||
3451 | 561 | <event name="OnRightUp"></event> | ||
3452 | 562 | <event name="OnSetFocus"></event> | ||
3453 | 563 | <event name="OnSize"></event> | ||
3454 | 564 | <event name="OnUpdateUI"></event> | ||
3455 | 565 | </object> | ||
3456 | 566 | </object> | ||
3457 | 567 | </object> | ||
3458 | 568 | </object> | ||
3459 | 569 | <object class="sizeritem" expanded="1"> | ||
3460 | 570 | <property name="border">5</property> | ||
3461 | 571 | <property name="flag">wxEXPAND|wxTOP</property> | ||
3462 | 572 | <property name="proportion">0</property> | ||
3463 | 573 | <object class="wxRadioBox" expanded="1"> | ||
3464 | 574 | <property name="BottomDockable">1</property> | ||
3465 | 575 | <property name="LeftDockable">1</property> | ||
3466 | 576 | <property name="RightDockable">1</property> | ||
3467 | 577 | <property name="TopDockable">1</property> | ||
3468 | 578 | <property name="aui_layer"></property> | ||
3469 | 579 | <property name="aui_name"></property> | ||
3470 | 580 | <property name="aui_position"></property> | ||
3471 | 581 | <property name="aui_row"></property> | ||
3472 | 582 | <property name="best_size"></property> | ||
3473 | 583 | <property name="bg"></property> | ||
3474 | 584 | <property name="caption"></property> | ||
3475 | 585 | <property name="caption_visible">1</property> | ||
3476 | 586 | <property name="center_pane">0</property> | ||
3477 | 587 | <property name="choices">"List" "List for spreadsheet import (by ref)" "List for spreadsheet import (by grouped ref)" "List for spreadsheet import (by value)"</property> | ||
3478 | 588 | <property name="close_button">1</property> | ||
3479 | 589 | <property name="context_help"></property> | ||
3480 | 590 | <property name="context_menu">1</property> | ||
3481 | 591 | <property name="default_pane">0</property> | ||
3482 | 592 | <property name="dock">Dock</property> | ||
3483 | 593 | <property name="dock_fixed">0</property> | ||
3484 | 594 | <property name="docking">Left</property> | ||
3485 | 595 | <property name="enabled">1</property> | ||
3486 | 596 | <property name="fg"></property> | ||
3487 | 597 | <property name="floatable">1</property> | ||
3488 | 598 | <property name="font"></property> | ||
3489 | 599 | <property name="gripper">0</property> | ||
3490 | 600 | <property name="hidden">0</property> | ||
3491 | 601 | <property name="id">ID_RADIOBOX_SELECT_FORMAT</property> | ||
3492 | 602 | <property name="label">Output format:</property> | ||
3493 | 603 | <property name="majorDimension">1</property> | ||
3494 | 604 | <property name="max_size"></property> | ||
3495 | 605 | <property name="maximize_button">0</property> | ||
3496 | 606 | <property name="maximum_size"></property> | ||
3497 | 607 | <property name="min_size"></property> | ||
3498 | 608 | <property name="minimize_button">0</property> | ||
3499 | 609 | <property name="minimum_size"></property> | ||
3500 | 610 | <property name="moveable">1</property> | ||
3501 | 611 | <property name="name">m_OutputFormCtrl</property> | ||
3502 | 612 | <property name="pane_border">1</property> | ||
3503 | 613 | <property name="pane_position"></property> | ||
3504 | 614 | <property name="pane_size"></property> | ||
3505 | 615 | <property name="permission">protected</property> | ||
3506 | 616 | <property name="pin_button">1</property> | ||
3507 | 617 | <property name="pos"></property> | ||
3508 | 618 | <property name="resize">Resizable</property> | ||
3509 | 619 | <property name="selection">1</property> | ||
3510 | 620 | <property name="show">1</property> | ||
3511 | 621 | <property name="size"></property> | ||
3512 | 622 | <property name="style">wxRA_SPECIFY_COLS</property> | ||
3513 | 623 | <property name="subclass"></property> | ||
3514 | 624 | <property name="toolbar_pane">0</property> | ||
3515 | 625 | <property name="tooltip"></property> | ||
3516 | 626 | <property name="validator_data_type"></property> | ||
3517 | 627 | <property name="validator_style">wxFILTER_NONE</property> | ||
3518 | 628 | <property name="validator_type">wxDefaultValidator</property> | ||
3519 | 629 | <property name="validator_variable"></property> | ||
3520 | 630 | <property name="window_extra_style"></property> | ||
3521 | 631 | <property name="window_name"></property> | ||
3522 | 632 | <property name="window_style"></property> | ||
3523 | 633 | <event name="OnChar"></event> | ||
3524 | 634 | <event name="OnEnterWindow"></event> | ||
3525 | 635 | <event name="OnEraseBackground"></event> | ||
3526 | 636 | <event name="OnKeyDown"></event> | ||
3527 | 637 | <event name="OnKeyUp"></event> | ||
3528 | 638 | <event name="OnKillFocus"></event> | ||
3529 | 639 | <event name="OnLeaveWindow"></event> | ||
3530 | 640 | <event name="OnLeftDClick"></event> | ||
3531 | 641 | <event name="OnLeftDown"></event> | ||
3532 | 642 | <event name="OnLeftUp"></event> | ||
3533 | 643 | <event name="OnMiddleDClick"></event> | ||
3534 | 644 | <event name="OnMiddleDown"></event> | ||
3535 | 645 | <event name="OnMiddleUp"></event> | ||
3536 | 646 | <event name="OnMotion"></event> | ||
3537 | 647 | <event name="OnMouseEvents"></event> | ||
3538 | 648 | <event name="OnMouseWheel"></event> | ||
3539 | 649 | <event name="OnPaint"></event> | ||
3540 | 650 | <event name="OnRadioBox">OnRadioboxSelectFormatSelected</event> | ||
3541 | 651 | <event name="OnRightDClick"></event> | ||
3542 | 652 | <event name="OnRightDown"></event> | ||
3543 | 653 | <event name="OnRightUp"></event> | ||
3544 | 654 | <event name="OnSetFocus"></event> | ||
3545 | 655 | <event name="OnSize"></event> | ||
3546 | 656 | <event name="OnUpdateUI"></event> | ||
3547 | 657 | </object> | ||
3548 | 658 | </object> | ||
3549 | 659 | <object class="sizeritem" expanded="1"> | ||
3550 | 660 | <property name="border">5</property> | ||
3551 | 661 | <property name="flag">wxEXPAND|wxTOP</property> | ||
3552 | 662 | <property name="proportion">0</property> | ||
3553 | 663 | <object class="wxRadioBox" expanded="1"> | ||
3554 | 664 | <property name="BottomDockable">1</property> | ||
3555 | 665 | <property name="LeftDockable">1</property> | ||
3556 | 666 | <property name="RightDockable">1</property> | ||
3557 | 667 | <property name="TopDockable">1</property> | ||
3558 | 668 | <property name="aui_layer"></property> | ||
3559 | 669 | <property name="aui_name"></property> | ||
3560 | 670 | <property name="aui_position"></property> | ||
3561 | 671 | <property name="aui_row"></property> | ||
3562 | 672 | <property name="best_size"></property> | ||
3563 | 673 | <property name="bg"></property> | ||
3564 | 674 | <property name="caption"></property> | ||
3565 | 675 | <property name="caption_visible">1</property> | ||
3566 | 676 | <property name="center_pane">0</property> | ||
3567 | 677 | <property name="choices">"Tab" ";" ","</property> | ||
3568 | 678 | <property name="close_button">1</property> | ||
3569 | 679 | <property name="context_help"></property> | ||
3570 | 680 | <property name="context_menu">1</property> | ||
3571 | 681 | <property name="default_pane">0</property> | ||
3572 | 682 | <property name="dock">Dock</property> | ||
3573 | 683 | <property name="dock_fixed">0</property> | ||
3574 | 684 | <property name="docking">Left</property> | ||
3575 | 685 | <property name="enabled">1</property> | ||
3576 | 686 | <property name="fg"></property> | ||
3577 | 687 | <property name="floatable">1</property> | ||
3578 | 688 | <property name="font"></property> | ||
3579 | 689 | <property name="gripper">0</property> | ||
3580 | 690 | <property name="hidden">0</property> | ||
3581 | 691 | <property name="id">wxID_ANY</property> | ||
3582 | 692 | <property name="label">Field separator for spreadsheet import:</property> | ||
3583 | 693 | <property name="majorDimension">1</property> | ||
3584 | 694 | <property name="max_size"></property> | ||
3585 | 695 | <property name="maximize_button">0</property> | ||
3586 | 696 | <property name="maximum_size"></property> | ||
3587 | 697 | <property name="min_size"></property> | ||
3588 | 698 | <property name="minimize_button">0</property> | ||
3589 | 699 | <property name="minimum_size"></property> | ||
3590 | 700 | <property name="moveable">1</property> | ||
3591 | 701 | <property name="name">m_OutputSeparatorCtrl</property> | ||
3592 | 702 | <property name="pane_border">1</property> | ||
3593 | 703 | <property name="pane_position"></property> | ||
3594 | 704 | <property name="pane_size"></property> | ||
3595 | 705 | <property name="permission">protected</property> | ||
3596 | 706 | <property name="pin_button">1</property> | ||
3597 | 707 | <property name="pos"></property> | ||
3598 | 708 | <property name="resize">Resizable</property> | ||
3599 | 709 | <property name="selection">0</property> | ||
3600 | 710 | <property name="show">1</property> | ||
3601 | 711 | <property name="size"></property> | ||
3602 | 712 | <property name="style">wxRA_SPECIFY_ROWS</property> | ||
3603 | 713 | <property name="subclass"></property> | ||
3604 | 714 | <property name="toolbar_pane">0</property> | ||
3605 | 715 | <property name="tooltip"></property> | ||
3606 | 716 | <property name="validator_data_type"></property> | ||
3607 | 717 | <property name="validator_style">wxFILTER_NONE</property> | ||
3608 | 718 | <property name="validator_type">wxDefaultValidator</property> | ||
3609 | 719 | <property name="validator_variable"></property> | ||
3610 | 720 | <property name="window_extra_style"></property> | ||
3611 | 721 | <property name="window_name"></property> | ||
3612 | 722 | <property name="window_style"></property> | ||
3613 | 723 | <event name="OnChar"></event> | ||
3614 | 724 | <event name="OnEnterWindow"></event> | ||
3615 | 725 | <event name="OnEraseBackground"></event> | ||
3616 | 726 | <event name="OnKeyDown"></event> | ||
3617 | 727 | <event name="OnKeyUp"></event> | ||
3618 | 728 | <event name="OnKillFocus"></event> | ||
3619 | 729 | <event name="OnLeaveWindow"></event> | ||
3620 | 730 | <event name="OnLeftDClick"></event> | ||
3621 | 731 | <event name="OnLeftDown"></event> | ||
3622 | 732 | <event name="OnLeftUp"></event> | ||
3623 | 733 | <event name="OnMiddleDClick"></event> | ||
3624 | 734 | <event name="OnMiddleDown"></event> | ||
3625 | 735 | <event name="OnMiddleUp"></event> | ||
3626 | 736 | <event name="OnMotion"></event> | ||
3627 | 737 | <event name="OnMouseEvents"></event> | ||
3628 | 738 | <event name="OnMouseWheel"></event> | ||
3629 | 739 | <event name="OnPaint"></event> | ||
3630 | 740 | <event name="OnRadioBox"></event> | ||
3631 | 741 | <event name="OnRightDClick"></event> | ||
3632 | 742 | <event name="OnRightDown"></event> | ||
3633 | 743 | <event name="OnRightUp"></event> | ||
3634 | 744 | <event name="OnSetFocus"></event> | ||
3635 | 745 | <event name="OnSize"></event> | ||
3636 | 746 | <event name="OnUpdateUI"></event> | ||
3637 | 747 | </object> | ||
3638 | 748 | </object> | ||
3639 | 749 | <object class="sizeritem" expanded="1"> | ||
3640 | 750 | <property name="border">5</property> | ||
3641 | 751 | <property name="flag">wxALL|wxEXPAND</property> | ||
3642 | 752 | <property name="proportion">0</property> | ||
3643 | 753 | <object class="wxCheckBox" expanded="1"> | ||
3644 | 754 | <property name="BottomDockable">1</property> | ||
3645 | 755 | <property name="LeftDockable">1</property> | ||
3646 | 756 | <property name="RightDockable">1</property> | ||
3647 | 757 | <property name="TopDockable">1</property> | ||
3648 | 758 | <property name="aui_layer"></property> | ||
3649 | 759 | <property name="aui_name"></property> | ||
3650 | 760 | <property name="aui_position"></property> | ||
3651 | 761 | <property name="aui_row"></property> | ||
3652 | 762 | <property name="best_size"></property> | ||
3653 | 763 | <property name="bg"></property> | ||
3654 | 764 | <property name="caption"></property> | ||
3655 | 765 | <property name="caption_visible">1</property> | ||
3656 | 766 | <property name="center_pane">0</property> | ||
3657 | 767 | <property name="checked">0</property> | ||
3658 | 768 | <property name="close_button">1</property> | ||
3659 | 769 | <property name="context_help"></property> | ||
3660 | 770 | <property name="context_menu">1</property> | ||
3661 | 771 | <property name="default_pane">0</property> | ||
3662 | 772 | <property name="dock">Dock</property> | ||
3663 | 773 | <property name="dock_fixed">0</property> | ||
3664 | 774 | <property name="docking">Left</property> | ||
3665 | 775 | <property name="enabled">1</property> | ||
3666 | 776 | <property name="fg"></property> | ||
3667 | 777 | <property name="floatable">1</property> | ||
3668 | 778 | <property name="font"></property> | ||
3669 | 779 | <property name="gripper">0</property> | ||
3670 | 780 | <property name="hidden">0</property> | ||
3671 | 781 | <property name="id">wxID_ANY</property> | ||
3672 | 782 | <property name="label">Launch list browser</property> | ||
3673 | 783 | <property name="max_size"></property> | ||
3674 | 784 | <property name="maximize_button">0</property> | ||
3675 | 785 | <property name="maximum_size"></property> | ||
3676 | 786 | <property name="min_size"></property> | ||
3677 | 787 | <property name="minimize_button">0</property> | ||
3678 | 788 | <property name="minimum_size"></property> | ||
3679 | 789 | <property name="moveable">1</property> | ||
3680 | 790 | <property name="name">m_GetListBrowser</property> | ||
3681 | 791 | <property name="pane_border">1</property> | ||
3682 | 792 | <property name="pane_position"></property> | ||
3683 | 793 | <property name="pane_size"></property> | ||
3684 | 794 | <property name="permission">protected</property> | ||
3685 | 795 | <property name="pin_button">1</property> | ||
3686 | 796 | <property name="pos"></property> | ||
3687 | 797 | <property name="resize">Resizable</property> | ||
3688 | 798 | <property name="show">1</property> | ||
3689 | 799 | <property name="size"></property> | ||
3690 | 800 | <property name="style"></property> | ||
3691 | 801 | <property name="subclass"></property> | ||
3692 | 802 | <property name="toolbar_pane">0</property> | ||
3693 | 803 | <property name="tooltip"></property> | ||
3694 | 804 | <property name="validator_data_type"></property> | ||
3695 | 805 | <property name="validator_style">wxFILTER_NONE</property> | ||
3696 | 806 | <property name="validator_type">wxDefaultValidator</property> | ||
3697 | 807 | <property name="validator_variable"></property> | ||
3698 | 808 | <property name="window_extra_style"></property> | ||
3699 | 809 | <property name="window_name"></property> | ||
3700 | 810 | <property name="window_style"></property> | ||
3701 | 811 | <event name="OnChar"></event> | ||
3702 | 812 | <event name="OnCheckBox"></event> | ||
3703 | 813 | <event name="OnEnterWindow"></event> | ||
3704 | 814 | <event name="OnEraseBackground"></event> | ||
3705 | 815 | <event name="OnKeyDown"></event> | ||
3706 | 816 | <event name="OnKeyUp"></event> | ||
3707 | 817 | <event name="OnKillFocus"></event> | ||
3708 | 818 | <event name="OnLeaveWindow"></event> | ||
3709 | 819 | <event name="OnLeftDClick"></event> | ||
3710 | 820 | <event name="OnLeftDown"></event> | ||
3711 | 821 | <event name="OnLeftUp"></event> | ||
3712 | 822 | <event name="OnMiddleDClick"></event> | ||
3713 | 823 | <event name="OnMiddleDown"></event> | ||
3714 | 824 | <event name="OnMiddleUp"></event> | ||
3715 | 825 | <event name="OnMotion"></event> | ||
3716 | 826 | <event name="OnMouseEvents"></event> | ||
3717 | 827 | <event name="OnMouseWheel"></event> | ||
3718 | 828 | <event name="OnPaint"></event> | ||
3719 | 829 | <event name="OnRightDClick"></event> | ||
3720 | 830 | <event name="OnRightDown"></event> | ||
3721 | 831 | <event name="OnRightUp"></event> | ||
3722 | 832 | <event name="OnSetFocus"></event> | ||
3723 | 833 | <event name="OnSize"></event> | ||
3724 | 834 | <event name="OnUpdateUI"></event> | ||
3725 | 835 | </object> | ||
3726 | 836 | </object> | ||
3727 | 837 | </object> | ||
3728 | 838 | </object> | ||
3729 | 839 | <object class="sizeritem" expanded="1"> | ||
3730 | 840 | <property name="border">5</property> | ||
3731 | 841 | <property name="flag">wxALL|wxEXPAND</property> | ||
3732 | 842 | <property name="proportion">2</property> | ||
3733 | 843 | <object class="wxBoxSizer" expanded="1"> | ||
3734 | 844 | <property name="minimum_size"></property> | ||
3735 | 845 | <property name="name">bRightSizer</property> | ||
3736 | 846 | <property name="orient">wxVERTICAL</property> | ||
3737 | 847 | <property name="permission">none</property> | ||
3738 | 848 | <object class="sizeritem" expanded="1"> | ||
3739 | 849 | <property name="border">5</property> | ||
3740 | 850 | <property name="flag">wxEXPAND</property> | ||
3741 | 851 | <property name="proportion">1</property> | ||
3742 | 852 | <object class="wxStaticBoxSizer" expanded="1"> | ||
3743 | 853 | <property name="id">wxID_ANY</property> | ||
3744 | 854 | <property name="label">Add to list:</property> | ||
3745 | 855 | <property name="minimum_size"></property> | ||
3746 | 856 | <property name="name">sbAddToListSelectionSizer</property> | ||
3747 | 857 | <property name="orient">wxVERTICAL</property> | ||
3748 | 858 | <property name="permission">none</property> | ||
3749 | 859 | <event name="OnUpdateUI"></event> | ||
3750 | 860 | <object class="sizeritem" expanded="1"> | ||
3751 | 861 | <property name="border">5</property> | ||
3752 | 862 | <property name="flag">wxALL</property> | ||
3753 | 863 | <property name="proportion">0</property> | ||
3754 | 864 | <object class="wxCheckBox" expanded="1"> | ||
3755 | 865 | <property name="BottomDockable">1</property> | ||
3756 | 866 | <property name="LeftDockable">1</property> | ||
3757 | 867 | <property name="RightDockable">1</property> | ||
3758 | 868 | <property name="TopDockable">1</property> | ||
3759 | 869 | <property name="aui_layer"></property> | ||
3760 | 870 | <property name="aui_name"></property> | ||
3761 | 871 | <property name="aui_position"></property> | ||
3762 | 872 | <property name="aui_row"></property> | ||
3763 | 873 | <property name="best_size"></property> | ||
3764 | 874 | <property name="bg"></property> | ||
3765 | 875 | <property name="caption"></property> | ||
3766 | 876 | <property name="caption_visible">1</property> | ||
3767 | 877 | <property name="center_pane">0</property> | ||
3768 | 878 | <property name="checked">0</property> | ||
3769 | 879 | <property name="close_button">1</property> | ||
3770 | 880 | <property name="context_help"></property> | ||
3771 | 881 | <property name="context_menu">1</property> | ||
3772 | 882 | <property name="default_pane">0</property> | ||
3773 | 883 | <property name="dock">Dock</property> | ||
3774 | 884 | <property name="dock_fixed">0</property> | ||
3775 | 885 | <property name="docking">Left</property> | ||
3776 | 886 | <property name="enabled">1</property> | ||
3777 | 887 | <property name="fg"></property> | ||
3778 | 888 | <property name="floatable">1</property> | ||
3779 | 889 | <property name="font"></property> | ||
3780 | 890 | <property name="gripper">0</property> | ||
3781 | 891 | <property name="hidden">0</property> | ||
3782 | 892 | <property name="id">wxID_ANY</property> | ||
3783 | 893 | <property name="label">Component location</property> | ||
3784 | 894 | <property name="max_size"></property> | ||
3785 | 895 | <property name="maximize_button">0</property> | ||
3786 | 896 | <property name="maximum_size"></property> | ||
3787 | 897 | <property name="min_size"></property> | ||
3788 | 898 | <property name="minimize_button">0</property> | ||
3789 | 899 | <property name="minimum_size"></property> | ||
3790 | 900 | <property name="moveable">1</property> | ||
3791 | 901 | <property name="name">m_AddLocationField</property> | ||
3792 | 902 | <property name="pane_border">1</property> | ||
3793 | 903 | <property name="pane_position"></property> | ||
3794 | 904 | <property name="pane_size"></property> | ||
3795 | 905 | <property name="permission">protected</property> | ||
3796 | 906 | <property name="pin_button">1</property> | ||
3797 | 907 | <property name="pos"></property> | ||
3798 | 908 | <property name="resize">Resizable</property> | ||
3799 | 909 | <property name="show">1</property> | ||
3800 | 910 | <property name="size"></property> | ||
3801 | 911 | <property name="style"></property> | ||
3802 | 912 | <property name="subclass"></property> | ||
3803 | 913 | <property name="toolbar_pane">0</property> | ||
3804 | 914 | <property name="tooltip"></property> | ||
3805 | 915 | <property name="validator_data_type"></property> | ||
3806 | 916 | <property name="validator_style">wxFILTER_NONE</property> | ||
3807 | 917 | <property name="validator_type">wxDefaultValidator</property> | ||
3808 | 918 | <property name="validator_variable"></property> | ||
3809 | 919 | <property name="window_extra_style"></property> | ||
3810 | 920 | <property name="window_name"></property> | ||
3811 | 921 | <property name="window_style"></property> | ||
3812 | 922 | <event name="OnChar"></event> | ||
3813 | 923 | <event name="OnCheckBox"></event> | ||
3814 | 924 | <event name="OnEnterWindow"></event> | ||
3815 | 925 | <event name="OnEraseBackground"></event> | ||
3816 | 926 | <event name="OnKeyDown"></event> | ||
3817 | 927 | <event name="OnKeyUp"></event> | ||
3818 | 928 | <event name="OnKillFocus"></event> | ||
3819 | 929 | <event name="OnLeaveWindow"></event> | ||
3820 | 930 | <event name="OnLeftDClick"></event> | ||
3821 | 931 | <event name="OnLeftDown"></event> | ||
3822 | 932 | <event name="OnLeftUp"></event> | ||
3823 | 933 | <event name="OnMiddleDClick"></event> | ||
3824 | 934 | <event name="OnMiddleDown"></event> | ||
3825 | 935 | <event name="OnMiddleUp"></event> | ||
3826 | 936 | <event name="OnMotion"></event> | ||
3827 | 937 | <event name="OnMouseEvents"></event> | ||
3828 | 938 | <event name="OnMouseWheel"></event> | ||
3829 | 939 | <event name="OnPaint"></event> | ||
3830 | 940 | <event name="OnRightDClick"></event> | ||
3831 | 941 | <event name="OnRightDown"></event> | ||
3832 | 942 | <event name="OnRightUp"></event> | ||
3833 | 943 | <event name="OnSetFocus"></event> | ||
3834 | 944 | <event name="OnSize"></event> | ||
3835 | 945 | <event name="OnUpdateUI"></event> | ||
3836 | 946 | </object> | ||
3837 | 947 | </object> | ||
3838 | 948 | <object class="sizeritem" expanded="1"> | ||
3839 | 949 | <property name="border">5</property> | ||
3840 | 950 | <property name="flag">wxEXPAND</property> | ||
3841 | 951 | <property name="proportion">0</property> | ||
3842 | 952 | <object class="wxStaticBoxSizer" expanded="1"> | ||
3843 | 953 | <property name="id">wxID_ANY</property> | ||
3844 | 954 | <property name="label">System Fields:</property> | ||
3845 | 955 | <property name="minimum_size"></property> | ||
3846 | 956 | <property name="name">sbFixedFieldsSizer</property> | ||
3847 | 957 | <property name="orient">wxVERTICAL</property> | ||
3848 | 958 | <property name="permission">none</property> | ||
3849 | 959 | <event name="OnUpdateUI"></event> | ||
3850 | 960 | <object class="sizeritem" expanded="1"> | ||
3851 | 961 | <property name="border">5</property> | ||
3852 | 962 | <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> | ||
3853 | 963 | <property name="proportion">0</property> | ||
3854 | 964 | <object class="wxCheckBox" expanded="1"> | ||
3855 | 965 | <property name="BottomDockable">1</property> | ||
3856 | 966 | <property name="LeftDockable">1</property> | ||
3857 | 967 | <property name="RightDockable">1</property> | ||
3858 | 968 | <property name="TopDockable">1</property> | ||
3859 | 969 | <property name="aui_layer"></property> | ||
3860 | 970 | <property name="aui_name"></property> | ||
3861 | 971 | <property name="aui_position"></property> | ||
3862 | 972 | <property name="aui_row"></property> | ||
3863 | 973 | <property name="best_size"></property> | ||
3864 | 974 | <property name="bg"></property> | ||
3865 | 975 | <property name="caption"></property> | ||
3866 | 976 | <property name="caption_visible">1</property> | ||
3867 | 977 | <property name="center_pane">0</property> | ||
3868 | 978 | <property name="checked">0</property> | ||
3869 | 979 | <property name="close_button">1</property> | ||
3870 | 980 | <property name="context_help"></property> | ||
3871 | 981 | <property name="context_menu">1</property> | ||
3872 | 982 | <property name="default_pane">0</property> | ||
3873 | 983 | <property name="dock">Dock</property> | ||
3874 | 984 | <property name="dock_fixed">0</property> | ||
3875 | 985 | <property name="docking">Left</property> | ||
3876 | 986 | <property name="enabled">1</property> | ||
3877 | 987 | <property name="fg"></property> | ||
3878 | 988 | <property name="floatable">1</property> | ||
3879 | 989 | <property name="font"></property> | ||
3880 | 990 | <property name="gripper">0</property> | ||
3881 | 991 | <property name="hidden">0</property> | ||
3882 | 992 | <property name="id">wxID_ANY</property> | ||
3883 | 993 | <property name="label">Datasheet</property> | ||
3884 | 994 | <property name="max_size"></property> | ||
3885 | 995 | <property name="maximize_button">0</property> | ||
3886 | 996 | <property name="maximum_size"></property> | ||
3887 | 997 | <property name="min_size"></property> | ||
3888 | 998 | <property name="minimize_button">0</property> | ||
3889 | 999 | <property name="minimum_size"></property> | ||
3890 | 1000 | <property name="moveable">1</property> | ||
3891 | 1001 | <property name="name">m_AddDatasheetField</property> | ||
3892 | 1002 | <property name="pane_border">1</property> | ||
3893 | 1003 | <property name="pane_position"></property> | ||
3894 | 1004 | <property name="pane_size"></property> | ||
3895 | 1005 | <property name="permission">protected</property> | ||
3896 | 1006 | <property name="pin_button">1</property> | ||
3897 | 1007 | <property name="pos"></property> | ||
3898 | 1008 | <property name="resize">Resizable</property> | ||
3899 | 1009 | <property name="show">1</property> | ||
3900 | 1010 | <property name="size"></property> | ||
3901 | 1011 | <property name="style"></property> | ||
3902 | 1012 | <property name="subclass"></property> | ||
3903 | 1013 | <property name="toolbar_pane">0</property> | ||
3904 | 1014 | <property name="tooltip"></property> | ||
3905 | 1015 | <property name="validator_data_type"></property> | ||
3906 | 1016 | <property name="validator_style">wxFILTER_NONE</property> | ||
3907 | 1017 | <property name="validator_type">wxDefaultValidator</property> | ||
3908 | 1018 | <property name="validator_variable"></property> | ||
3909 | 1019 | <property name="window_extra_style"></property> | ||
3910 | 1020 | <property name="window_name"></property> | ||
3911 | 1021 | <property name="window_style"></property> | ||
3912 | 1022 | <event name="OnChar"></event> | ||
3913 | 1023 | <event name="OnCheckBox"></event> | ||
3914 | 1024 | <event name="OnEnterWindow"></event> | ||
3915 | 1025 | <event name="OnEraseBackground"></event> | ||
3916 | 1026 | <event name="OnKeyDown"></event> | ||
3917 | 1027 | <event name="OnKeyUp"></event> | ||
3918 | 1028 | <event name="OnKillFocus"></event> | ||
3919 | 1029 | <event name="OnLeaveWindow"></event> | ||
3920 | 1030 | <event name="OnLeftDClick"></event> | ||
3921 | 1031 | <event name="OnLeftDown"></event> | ||
3922 | 1032 | <event name="OnLeftUp"></event> | ||
3923 | 1033 | <event name="OnMiddleDClick"></event> | ||
3924 | 1034 | <event name="OnMiddleDown"></event> | ||
3925 | 1035 | <event name="OnMiddleUp"></event> | ||
3926 | 1036 | <event name="OnMotion"></event> | ||
3927 | 1037 | <event name="OnMouseEvents"></event> | ||
3928 | 1038 | <event name="OnMouseWheel"></event> | ||
3929 | 1039 | <event name="OnPaint"></event> | ||
3930 | 1040 | <event name="OnRightDClick"></event> | ||
3931 | 1041 | <event name="OnRightDown"></event> | ||
3932 | 1042 | <event name="OnRightUp"></event> | ||
3933 | 1043 | <event name="OnSetFocus"></event> | ||
3934 | 1044 | <event name="OnSize"></event> | ||
3935 | 1045 | <event name="OnUpdateUI"></event> | ||
3936 | 1046 | </object> | ||
3937 | 1047 | </object> | ||
3938 | 1048 | <object class="sizeritem" expanded="1"> | ||
3939 | 1049 | <property name="border">5</property> | ||
3940 | 1050 | <property name="flag">wxALL|wxEXPAND</property> | ||
3941 | 1051 | <property name="proportion">0</property> | ||
3942 | 1052 | <object class="wxCheckBox" expanded="1"> | ||
3943 | 1053 | <property name="BottomDockable">1</property> | ||
3944 | 1054 | <property name="LeftDockable">1</property> | ||
3945 | 1055 | <property name="RightDockable">1</property> | ||
3946 | 1056 | <property name="TopDockable">1</property> | ||
3947 | 1057 | <property name="aui_layer"></property> | ||
3948 | 1058 | <property name="aui_name"></property> | ||
3949 | 1059 | <property name="aui_position"></property> | ||
3950 | 1060 | <property name="aui_row"></property> | ||
3951 | 1061 | <property name="best_size"></property> | ||
3952 | 1062 | <property name="bg"></property> | ||
3953 | 1063 | <property name="caption"></property> | ||
3954 | 1064 | <property name="caption_visible">1</property> | ||
3955 | 1065 | <property name="center_pane">0</property> | ||
3956 | 1066 | <property name="checked">0</property> | ||
3957 | 1067 | <property name="close_button">1</property> | ||
3958 | 1068 | <property name="context_help"></property> | ||
3959 | 1069 | <property name="context_menu">1</property> | ||
3960 | 1070 | <property name="default_pane">0</property> | ||
3961 | 1071 | <property name="dock">Dock</property> | ||
3962 | 1072 | <property name="dock_fixed">0</property> | ||
3963 | 1073 | <property name="docking">Left</property> | ||
3964 | 1074 | <property name="enabled">1</property> | ||
3965 | 1075 | <property name="fg"></property> | ||
3966 | 1076 | <property name="floatable">1</property> | ||
3967 | 1077 | <property name="font"></property> | ||
3968 | 1078 | <property name="gripper">0</property> | ||
3969 | 1079 | <property name="hidden">0</property> | ||
3970 | 1080 | <property name="id">wxID_ANY</property> | ||
3971 | 1081 | <property name="label">Footprint</property> | ||
3972 | 1082 | <property name="max_size"></property> | ||
3973 | 1083 | <property name="maximize_button">0</property> | ||
3974 | 1084 | <property name="maximum_size"></property> | ||
3975 | 1085 | <property name="min_size"></property> | ||
3976 | 1086 | <property name="minimize_button">0</property> | ||
3977 | 1087 | <property name="minimum_size"></property> | ||
3978 | 1088 | <property name="moveable">1</property> | ||
3979 | 1089 | <property name="name">m_AddFootprintField</property> | ||
3980 | 1090 | <property name="pane_border">1</property> | ||
3981 | 1091 | <property name="pane_position"></property> | ||
3982 | 1092 | <property name="pane_size"></property> | ||
3983 | 1093 | <property name="permission">protected</property> | ||
3984 | 1094 | <property name="pin_button">1</property> | ||
3985 | 1095 | <property name="pos"></property> | ||
3986 | 1096 | <property name="resize">Resizable</property> | ||
3987 | 1097 | <property name="show">1</property> | ||
3988 | 1098 | <property name="size"></property> | ||
3989 | 1099 | <property name="style"></property> | ||
3990 | 1100 | <property name="subclass"></property> | ||
3991 | 1101 | <property name="toolbar_pane">0</property> | ||
3992 | 1102 | <property name="tooltip"></property> | ||
3993 | 1103 | <property name="validator_data_type"></property> | ||
3994 | 1104 | <property name="validator_style">wxFILTER_NONE</property> | ||
3995 | 1105 | <property name="validator_type">wxDefaultValidator</property> | ||
3996 | 1106 | <property name="validator_variable"></property> | ||
3997 | 1107 | <property name="window_extra_style"></property> | ||
3998 | 1108 | <property name="window_name"></property> | ||
3999 | 1109 | <property name="window_style"></property> | ||
4000 | 1110 | <event name="OnChar"></event> | ||
4001 | 1111 | <event name="OnCheckBox"></event> | ||
4002 | 1112 | <event name="OnEnterWindow"></event> | ||
4003 | 1113 | <event name="OnEraseBackground"></event> | ||
4004 | 1114 | <event name="OnKeyDown"></event> | ||
4005 | 1115 | <event name="OnKeyUp"></event> | ||
4006 | 1116 | <event name="OnKillFocus"></event> | ||
4007 | 1117 | <event name="OnLeaveWindow"></event> | ||
4008 | 1118 | <event name="OnLeftDClick"></event> | ||
4009 | 1119 | <event name="OnLeftDown"></event> | ||
4010 | 1120 | <event name="OnLeftUp"></event> | ||
4011 | 1121 | <event name="OnMiddleDClick"></event> | ||
4012 | 1122 | <event name="OnMiddleDown"></event> | ||
4013 | 1123 | <event name="OnMiddleUp"></event> | ||
4014 | 1124 | <event name="OnMotion"></event> | ||
4015 | 1125 | <event name="OnMouseEvents"></event> | ||
4016 | 1126 | <event name="OnMouseWheel"></event> | ||
4017 | 1127 | <event name="OnPaint"></event> | ||
4018 | 1128 | <event name="OnRightDClick"></event> | ||
4019 | 1129 | <event name="OnRightDown"></event> | ||
4020 | 1130 | <event name="OnRightUp"></event> | ||
4021 | 1131 | <event name="OnSetFocus"></event> | ||
4022 | 1132 | <event name="OnSize"></event> | ||
4023 | 1133 | <event name="OnUpdateUI"></event> | ||
4024 | 1134 | </object> | ||
4025 | 1135 | </object> | ||
4026 | 1136 | </object> | ||
4027 | 1137 | </object> | ||
4028 | 1138 | <object class="sizeritem" expanded="1"> | ||
4029 | 1139 | <property name="border">5</property> | ||
4030 | 1140 | <property name="flag">wxEXPAND|wxTOP</property> | ||
4031 | 1141 | <property name="proportion">0</property> | ||
4032 | 1142 | <object class="wxStaticBoxSizer" expanded="1"> | ||
4033 | 1143 | <property name="id">wxID_ANY</property> | ||
4034 | 1144 | <property name="label">Users fields:</property> | ||
4035 | 1145 | <property name="minimum_size"></property> | ||
4036 | 1146 | <property name="name">sbUsersFiledsSizer</property> | ||
4037 | 1147 | <property name="orient">wxVERTICAL</property> | ||
4038 | 1148 | <property name="permission">none</property> | ||
4039 | 1149 | <event name="OnUpdateUI"></event> | ||
4040 | 1150 | <object class="sizeritem" expanded="1"> | ||
4041 | 1151 | <property name="border">5</property> | ||
4042 | 1152 | <property name="flag">wxEXPAND|wxALL</property> | ||
4043 | 1153 | <property name="proportion">0</property> | ||
4044 | 1154 | <object class="wxCheckBox" expanded="1"> | ||
4045 | 1155 | <property name="BottomDockable">1</property> | ||
4046 | 1156 | <property name="LeftDockable">1</property> | ||
4047 | 1157 | <property name="RightDockable">1</property> | ||
4048 | 1158 | <property name="TopDockable">1</property> | ||
4049 | 1159 | <property name="aui_layer"></property> | ||
4050 | 1160 | <property name="aui_name"></property> | ||
4051 | 1161 | <property name="aui_position"></property> | ||
4052 | 1162 | <property name="aui_row"></property> | ||
4053 | 1163 | <property name="best_size"></property> | ||
4054 | 1164 | <property name="bg"></property> | ||
4055 | 1165 | <property name="caption"></property> | ||
4056 | 1166 | <property name="caption_visible">1</property> | ||
4057 | 1167 | <property name="center_pane">0</property> | ||
4058 | 1168 | <property name="checked">0</property> | ||
4059 | 1169 | <property name="close_button">1</property> | ||
4060 | 1170 | <property name="context_help"></property> | ||
4061 | 1171 | <property name="context_menu">1</property> | ||
4062 | 1172 | <property name="default_pane">0</property> | ||
4063 | 1173 | <property name="dock">Dock</property> | ||
4064 | 1174 | <property name="dock_fixed">0</property> | ||
4065 | 1175 | <property name="docking">Left</property> | ||
4066 | 1176 | <property name="enabled">1</property> | ||
4067 | 1177 | <property name="fg"></property> | ||
4068 | 1178 | <property name="floatable">1</property> | ||
4069 | 1179 | <property name="font"></property> | ||
4070 | 1180 | <property name="gripper">0</property> | ||
4071 | 1181 | <property name="hidden">0</property> | ||
4072 | 1182 | <property name="id">wxID_ANY</property> | ||
4073 | 1183 | <property name="label">Field 1</property> | ||
4074 | 1184 | <property name="max_size"></property> | ||
4075 | 1185 | <property name="maximize_button">0</property> | ||
4076 | 1186 | <property name="maximum_size"></property> | ||
4077 | 1187 | <property name="min_size"></property> | ||
4078 | 1188 | <property name="minimize_button">0</property> | ||
4079 | 1189 | <property name="minimum_size"></property> | ||
4080 | 1190 | <property name="moveable">1</property> | ||
4081 | 1191 | <property name="name">m_AddField1</property> | ||
4082 | 1192 | <property name="pane_border">1</property> | ||
4083 | 1193 | <property name="pane_position"></property> | ||
4084 | 1194 | <property name="pane_size"></property> | ||
4085 | 1195 | <property name="permission">protected</property> | ||
4086 | 1196 | <property name="pin_button">1</property> | ||
4087 | 1197 | <property name="pos"></property> | ||
4088 | 1198 | <property name="resize">Resizable</property> | ||
4089 | 1199 | <property name="show">1</property> | ||
4090 | 1200 | <property name="size"></property> | ||
4091 | 1201 | <property name="style"></property> | ||
4092 | 1202 | <property name="subclass"></property> | ||
4093 | 1203 | <property name="toolbar_pane">0</property> | ||
4094 | 1204 | <property name="tooltip"></property> | ||
4095 | 1205 | <property name="validator_data_type"></property> | ||
4096 | 1206 | <property name="validator_style">wxFILTER_NONE</property> | ||
4097 | 1207 | <property name="validator_type">wxDefaultValidator</property> | ||
4098 | 1208 | <property name="validator_variable"></property> | ||
4099 | 1209 | <property name="window_extra_style"></property> | ||
4100 | 1210 | <property name="window_name"></property> | ||
4101 | 1211 | <property name="window_style"></property> | ||
4102 | 1212 | <event name="OnChar"></event> | ||
4103 | 1213 | <event name="OnCheckBox"></event> | ||
4104 | 1214 | <event name="OnEnterWindow"></event> | ||
4105 | 1215 | <event name="OnEraseBackground"></event> | ||
4106 | 1216 | <event name="OnKeyDown"></event> | ||
4107 | 1217 | <event name="OnKeyUp"></event> | ||
4108 | 1218 | <event name="OnKillFocus"></event> | ||
4109 | 1219 | <event name="OnLeaveWindow"></event> | ||
4110 | 1220 | <event name="OnLeftDClick"></event> | ||
4111 | 1221 | <event name="OnLeftDown"></event> | ||
4112 | 1222 | <event name="OnLeftUp"></event> | ||
4113 | 1223 | <event name="OnMiddleDClick"></event> | ||
4114 | 1224 | <event name="OnMiddleDown"></event> | ||
4115 | 1225 | <event name="OnMiddleUp"></event> | ||
4116 | 1226 | <event name="OnMotion"></event> | ||
4117 | 1227 | <event name="OnMouseEvents"></event> | ||
4118 | 1228 | <event name="OnMouseWheel"></event> | ||
4119 | 1229 | <event name="OnPaint"></event> | ||
4120 | 1230 | <event name="OnRightDClick"></event> | ||
4121 | 1231 | <event name="OnRightDown"></event> | ||
4122 | 1232 | <event name="OnRightUp"></event> | ||
4123 | 1233 | <event name="OnSetFocus"></event> | ||
4124 | 1234 | <event name="OnSize"></event> | ||
4125 | 1235 | <event name="OnUpdateUI"></event> | ||
4126 | 1236 | </object> | ||
4127 | 1237 | </object> | ||
4128 | 1238 | <object class="sizeritem" expanded="1"> | ||
4129 | 1239 | <property name="border">5</property> | ||
4130 | 1240 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4131 | 1241 | <property name="proportion">0</property> | ||
4132 | 1242 | <object class="wxCheckBox" expanded="1"> | ||
4133 | 1243 | <property name="BottomDockable">1</property> | ||
4134 | 1244 | <property name="LeftDockable">1</property> | ||
4135 | 1245 | <property name="RightDockable">1</property> | ||
4136 | 1246 | <property name="TopDockable">1</property> | ||
4137 | 1247 | <property name="aui_layer"></property> | ||
4138 | 1248 | <property name="aui_name"></property> | ||
4139 | 1249 | <property name="aui_position"></property> | ||
4140 | 1250 | <property name="aui_row"></property> | ||
4141 | 1251 | <property name="best_size"></property> | ||
4142 | 1252 | <property name="bg"></property> | ||
4143 | 1253 | <property name="caption"></property> | ||
4144 | 1254 | <property name="caption_visible">1</property> | ||
4145 | 1255 | <property name="center_pane">0</property> | ||
4146 | 1256 | <property name="checked">0</property> | ||
4147 | 1257 | <property name="close_button">1</property> | ||
4148 | 1258 | <property name="context_help"></property> | ||
4149 | 1259 | <property name="context_menu">1</property> | ||
4150 | 1260 | <property name="default_pane">0</property> | ||
4151 | 1261 | <property name="dock">Dock</property> | ||
4152 | 1262 | <property name="dock_fixed">0</property> | ||
4153 | 1263 | <property name="docking">Left</property> | ||
4154 | 1264 | <property name="enabled">1</property> | ||
4155 | 1265 | <property name="fg"></property> | ||
4156 | 1266 | <property name="floatable">1</property> | ||
4157 | 1267 | <property name="font"></property> | ||
4158 | 1268 | <property name="gripper">0</property> | ||
4159 | 1269 | <property name="hidden">0</property> | ||
4160 | 1270 | <property name="id">wxID_ANY</property> | ||
4161 | 1271 | <property name="label">Field 2</property> | ||
4162 | 1272 | <property name="max_size"></property> | ||
4163 | 1273 | <property name="maximize_button">0</property> | ||
4164 | 1274 | <property name="maximum_size"></property> | ||
4165 | 1275 | <property name="min_size"></property> | ||
4166 | 1276 | <property name="minimize_button">0</property> | ||
4167 | 1277 | <property name="minimum_size"></property> | ||
4168 | 1278 | <property name="moveable">1</property> | ||
4169 | 1279 | <property name="name">m_AddField2</property> | ||
4170 | 1280 | <property name="pane_border">1</property> | ||
4171 | 1281 | <property name="pane_position"></property> | ||
4172 | 1282 | <property name="pane_size"></property> | ||
4173 | 1283 | <property name="permission">protected</property> | ||
4174 | 1284 | <property name="pin_button">1</property> | ||
4175 | 1285 | <property name="pos"></property> | ||
4176 | 1286 | <property name="resize">Resizable</property> | ||
4177 | 1287 | <property name="show">1</property> | ||
4178 | 1288 | <property name="size"></property> | ||
4179 | 1289 | <property name="style"></property> | ||
4180 | 1290 | <property name="subclass"></property> | ||
4181 | 1291 | <property name="toolbar_pane">0</property> | ||
4182 | 1292 | <property name="tooltip"></property> | ||
4183 | 1293 | <property name="validator_data_type"></property> | ||
4184 | 1294 | <property name="validator_style">wxFILTER_NONE</property> | ||
4185 | 1295 | <property name="validator_type">wxDefaultValidator</property> | ||
4186 | 1296 | <property name="validator_variable"></property> | ||
4187 | 1297 | <property name="window_extra_style"></property> | ||
4188 | 1298 | <property name="window_name"></property> | ||
4189 | 1299 | <property name="window_style"></property> | ||
4190 | 1300 | <event name="OnChar"></event> | ||
4191 | 1301 | <event name="OnCheckBox"></event> | ||
4192 | 1302 | <event name="OnEnterWindow"></event> | ||
4193 | 1303 | <event name="OnEraseBackground"></event> | ||
4194 | 1304 | <event name="OnKeyDown"></event> | ||
4195 | 1305 | <event name="OnKeyUp"></event> | ||
4196 | 1306 | <event name="OnKillFocus"></event> | ||
4197 | 1307 | <event name="OnLeaveWindow"></event> | ||
4198 | 1308 | <event name="OnLeftDClick"></event> | ||
4199 | 1309 | <event name="OnLeftDown"></event> | ||
4200 | 1310 | <event name="OnLeftUp"></event> | ||
4201 | 1311 | <event name="OnMiddleDClick"></event> | ||
4202 | 1312 | <event name="OnMiddleDown"></event> | ||
4203 | 1313 | <event name="OnMiddleUp"></event> | ||
4204 | 1314 | <event name="OnMotion"></event> | ||
4205 | 1315 | <event name="OnMouseEvents"></event> | ||
4206 | 1316 | <event name="OnMouseWheel"></event> | ||
4207 | 1317 | <event name="OnPaint"></event> | ||
4208 | 1318 | <event name="OnRightDClick"></event> | ||
4209 | 1319 | <event name="OnRightDown"></event> | ||
4210 | 1320 | <event name="OnRightUp"></event> | ||
4211 | 1321 | <event name="OnSetFocus"></event> | ||
4212 | 1322 | <event name="OnSize"></event> | ||
4213 | 1323 | <event name="OnUpdateUI"></event> | ||
4214 | 1324 | </object> | ||
4215 | 1325 | </object> | ||
4216 | 1326 | <object class="sizeritem" expanded="1"> | ||
4217 | 1327 | <property name="border">5</property> | ||
4218 | 1328 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4219 | 1329 | <property name="proportion">0</property> | ||
4220 | 1330 | <object class="wxCheckBox" expanded="1"> | ||
4221 | 1331 | <property name="BottomDockable">1</property> | ||
4222 | 1332 | <property name="LeftDockable">1</property> | ||
4223 | 1333 | <property name="RightDockable">1</property> | ||
4224 | 1334 | <property name="TopDockable">1</property> | ||
4225 | 1335 | <property name="aui_layer"></property> | ||
4226 | 1336 | <property name="aui_name"></property> | ||
4227 | 1337 | <property name="aui_position"></property> | ||
4228 | 1338 | <property name="aui_row"></property> | ||
4229 | 1339 | <property name="best_size"></property> | ||
4230 | 1340 | <property name="bg"></property> | ||
4231 | 1341 | <property name="caption"></property> | ||
4232 | 1342 | <property name="caption_visible">1</property> | ||
4233 | 1343 | <property name="center_pane">0</property> | ||
4234 | 1344 | <property name="checked">0</property> | ||
4235 | 1345 | <property name="close_button">1</property> | ||
4236 | 1346 | <property name="context_help"></property> | ||
4237 | 1347 | <property name="context_menu">1</property> | ||
4238 | 1348 | <property name="default_pane">0</property> | ||
4239 | 1349 | <property name="dock">Dock</property> | ||
4240 | 1350 | <property name="dock_fixed">0</property> | ||
4241 | 1351 | <property name="docking">Left</property> | ||
4242 | 1352 | <property name="enabled">1</property> | ||
4243 | 1353 | <property name="fg"></property> | ||
4244 | 1354 | <property name="floatable">1</property> | ||
4245 | 1355 | <property name="font"></property> | ||
4246 | 1356 | <property name="gripper">0</property> | ||
4247 | 1357 | <property name="hidden">0</property> | ||
4248 | 1358 | <property name="id">wxID_ANY</property> | ||
4249 | 1359 | <property name="label">Field 3</property> | ||
4250 | 1360 | <property name="max_size"></property> | ||
4251 | 1361 | <property name="maximize_button">0</property> | ||
4252 | 1362 | <property name="maximum_size"></property> | ||
4253 | 1363 | <property name="min_size"></property> | ||
4254 | 1364 | <property name="minimize_button">0</property> | ||
4255 | 1365 | <property name="minimum_size"></property> | ||
4256 | 1366 | <property name="moveable">1</property> | ||
4257 | 1367 | <property name="name">m_AddField3</property> | ||
4258 | 1368 | <property name="pane_border">1</property> | ||
4259 | 1369 | <property name="pane_position"></property> | ||
4260 | 1370 | <property name="pane_size"></property> | ||
4261 | 1371 | <property name="permission">protected</property> | ||
4262 | 1372 | <property name="pin_button">1</property> | ||
4263 | 1373 | <property name="pos"></property> | ||
4264 | 1374 | <property name="resize">Resizable</property> | ||
4265 | 1375 | <property name="show">1</property> | ||
4266 | 1376 | <property name="size"></property> | ||
4267 | 1377 | <property name="style"></property> | ||
4268 | 1378 | <property name="subclass"></property> | ||
4269 | 1379 | <property name="toolbar_pane">0</property> | ||
4270 | 1380 | <property name="tooltip"></property> | ||
4271 | 1381 | <property name="validator_data_type"></property> | ||
4272 | 1382 | <property name="validator_style">wxFILTER_NONE</property> | ||
4273 | 1383 | <property name="validator_type">wxDefaultValidator</property> | ||
4274 | 1384 | <property name="validator_variable"></property> | ||
4275 | 1385 | <property name="window_extra_style"></property> | ||
4276 | 1386 | <property name="window_name"></property> | ||
4277 | 1387 | <property name="window_style"></property> | ||
4278 | 1388 | <event name="OnChar"></event> | ||
4279 | 1389 | <event name="OnCheckBox"></event> | ||
4280 | 1390 | <event name="OnEnterWindow"></event> | ||
4281 | 1391 | <event name="OnEraseBackground"></event> | ||
4282 | 1392 | <event name="OnKeyDown"></event> | ||
4283 | 1393 | <event name="OnKeyUp"></event> | ||
4284 | 1394 | <event name="OnKillFocus"></event> | ||
4285 | 1395 | <event name="OnLeaveWindow"></event> | ||
4286 | 1396 | <event name="OnLeftDClick"></event> | ||
4287 | 1397 | <event name="OnLeftDown"></event> | ||
4288 | 1398 | <event name="OnLeftUp"></event> | ||
4289 | 1399 | <event name="OnMiddleDClick"></event> | ||
4290 | 1400 | <event name="OnMiddleDown"></event> | ||
4291 | 1401 | <event name="OnMiddleUp"></event> | ||
4292 | 1402 | <event name="OnMotion"></event> | ||
4293 | 1403 | <event name="OnMouseEvents"></event> | ||
4294 | 1404 | <event name="OnMouseWheel"></event> | ||
4295 | 1405 | <event name="OnPaint"></event> | ||
4296 | 1406 | <event name="OnRightDClick"></event> | ||
4297 | 1407 | <event name="OnRightDown"></event> | ||
4298 | 1408 | <event name="OnRightUp"></event> | ||
4299 | 1409 | <event name="OnSetFocus"></event> | ||
4300 | 1410 | <event name="OnSize"></event> | ||
4301 | 1411 | <event name="OnUpdateUI"></event> | ||
4302 | 1412 | </object> | ||
4303 | 1413 | </object> | ||
4304 | 1414 | <object class="sizeritem" expanded="1"> | ||
4305 | 1415 | <property name="border">5</property> | ||
4306 | 1416 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4307 | 1417 | <property name="proportion">0</property> | ||
4308 | 1418 | <object class="wxCheckBox" expanded="1"> | ||
4309 | 1419 | <property name="BottomDockable">1</property> | ||
4310 | 1420 | <property name="LeftDockable">1</property> | ||
4311 | 1421 | <property name="RightDockable">1</property> | ||
4312 | 1422 | <property name="TopDockable">1</property> | ||
4313 | 1423 | <property name="aui_layer"></property> | ||
4314 | 1424 | <property name="aui_name"></property> | ||
4315 | 1425 | <property name="aui_position"></property> | ||
4316 | 1426 | <property name="aui_row"></property> | ||
4317 | 1427 | <property name="best_size"></property> | ||
4318 | 1428 | <property name="bg"></property> | ||
4319 | 1429 | <property name="caption"></property> | ||
4320 | 1430 | <property name="caption_visible">1</property> | ||
4321 | 1431 | <property name="center_pane">0</property> | ||
4322 | 1432 | <property name="checked">0</property> | ||
4323 | 1433 | <property name="close_button">1</property> | ||
4324 | 1434 | <property name="context_help"></property> | ||
4325 | 1435 | <property name="context_menu">1</property> | ||
4326 | 1436 | <property name="default_pane">0</property> | ||
4327 | 1437 | <property name="dock">Dock</property> | ||
4328 | 1438 | <property name="dock_fixed">0</property> | ||
4329 | 1439 | <property name="docking">Left</property> | ||
4330 | 1440 | <property name="enabled">1</property> | ||
4331 | 1441 | <property name="fg"></property> | ||
4332 | 1442 | <property name="floatable">1</property> | ||
4333 | 1443 | <property name="font"></property> | ||
4334 | 1444 | <property name="gripper">0</property> | ||
4335 | 1445 | <property name="hidden">0</property> | ||
4336 | 1446 | <property name="id">wxID_ANY</property> | ||
4337 | 1447 | <property name="label">Field 4</property> | ||
4338 | 1448 | <property name="max_size"></property> | ||
4339 | 1449 | <property name="maximize_button">0</property> | ||
4340 | 1450 | <property name="maximum_size"></property> | ||
4341 | 1451 | <property name="min_size"></property> | ||
4342 | 1452 | <property name="minimize_button">0</property> | ||
4343 | 1453 | <property name="minimum_size"></property> | ||
4344 | 1454 | <property name="moveable">1</property> | ||
4345 | 1455 | <property name="name">m_AddField4</property> | ||
4346 | 1456 | <property name="pane_border">1</property> | ||
4347 | 1457 | <property name="pane_position"></property> | ||
4348 | 1458 | <property name="pane_size"></property> | ||
4349 | 1459 | <property name="permission">protected</property> | ||
4350 | 1460 | <property name="pin_button">1</property> | ||
4351 | 1461 | <property name="pos"></property> | ||
4352 | 1462 | <property name="resize">Resizable</property> | ||
4353 | 1463 | <property name="show">1</property> | ||
4354 | 1464 | <property name="size"></property> | ||
4355 | 1465 | <property name="style"></property> | ||
4356 | 1466 | <property name="subclass"></property> | ||
4357 | 1467 | <property name="toolbar_pane">0</property> | ||
4358 | 1468 | <property name="tooltip"></property> | ||
4359 | 1469 | <property name="validator_data_type"></property> | ||
4360 | 1470 | <property name="validator_style">wxFILTER_NONE</property> | ||
4361 | 1471 | <property name="validator_type">wxDefaultValidator</property> | ||
4362 | 1472 | <property name="validator_variable"></property> | ||
4363 | 1473 | <property name="window_extra_style"></property> | ||
4364 | 1474 | <property name="window_name"></property> | ||
4365 | 1475 | <property name="window_style"></property> | ||
4366 | 1476 | <event name="OnChar"></event> | ||
4367 | 1477 | <event name="OnCheckBox"></event> | ||
4368 | 1478 | <event name="OnEnterWindow"></event> | ||
4369 | 1479 | <event name="OnEraseBackground"></event> | ||
4370 | 1480 | <event name="OnKeyDown"></event> | ||
4371 | 1481 | <event name="OnKeyUp"></event> | ||
4372 | 1482 | <event name="OnKillFocus"></event> | ||
4373 | 1483 | <event name="OnLeaveWindow"></event> | ||
4374 | 1484 | <event name="OnLeftDClick"></event> | ||
4375 | 1485 | <event name="OnLeftDown"></event> | ||
4376 | 1486 | <event name="OnLeftUp"></event> | ||
4377 | 1487 | <event name="OnMiddleDClick"></event> | ||
4378 | 1488 | <event name="OnMiddleDown"></event> | ||
4379 | 1489 | <event name="OnMiddleUp"></event> | ||
4380 | 1490 | <event name="OnMotion"></event> | ||
4381 | 1491 | <event name="OnMouseEvents"></event> | ||
4382 | 1492 | <event name="OnMouseWheel"></event> | ||
4383 | 1493 | <event name="OnPaint"></event> | ||
4384 | 1494 | <event name="OnRightDClick"></event> | ||
4385 | 1495 | <event name="OnRightDown"></event> | ||
4386 | 1496 | <event name="OnRightUp"></event> | ||
4387 | 1497 | <event name="OnSetFocus"></event> | ||
4388 | 1498 | <event name="OnSize"></event> | ||
4389 | 1499 | <event name="OnUpdateUI"></event> | ||
4390 | 1500 | </object> | ||
4391 | 1501 | </object> | ||
4392 | 1502 | <object class="sizeritem" expanded="1"> | ||
4393 | 1503 | <property name="border">5</property> | ||
4394 | 1504 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4395 | 1505 | <property name="proportion">0</property> | ||
4396 | 1506 | <object class="wxCheckBox" expanded="1"> | ||
4397 | 1507 | <property name="BottomDockable">1</property> | ||
4398 | 1508 | <property name="LeftDockable">1</property> | ||
4399 | 1509 | <property name="RightDockable">1</property> | ||
4400 | 1510 | <property name="TopDockable">1</property> | ||
4401 | 1511 | <property name="aui_layer"></property> | ||
4402 | 1512 | <property name="aui_name"></property> | ||
4403 | 1513 | <property name="aui_position"></property> | ||
4404 | 1514 | <property name="aui_row"></property> | ||
4405 | 1515 | <property name="best_size"></property> | ||
4406 | 1516 | <property name="bg"></property> | ||
4407 | 1517 | <property name="caption"></property> | ||
4408 | 1518 | <property name="caption_visible">1</property> | ||
4409 | 1519 | <property name="center_pane">0</property> | ||
4410 | 1520 | <property name="checked">0</property> | ||
4411 | 1521 | <property name="close_button">1</property> | ||
4412 | 1522 | <property name="context_help"></property> | ||
4413 | 1523 | <property name="context_menu">1</property> | ||
4414 | 1524 | <property name="default_pane">0</property> | ||
4415 | 1525 | <property name="dock">Dock</property> | ||
4416 | 1526 | <property name="dock_fixed">0</property> | ||
4417 | 1527 | <property name="docking">Left</property> | ||
4418 | 1528 | <property name="enabled">1</property> | ||
4419 | 1529 | <property name="fg"></property> | ||
4420 | 1530 | <property name="floatable">1</property> | ||
4421 | 1531 | <property name="font"></property> | ||
4422 | 1532 | <property name="gripper">0</property> | ||
4423 | 1533 | <property name="hidden">0</property> | ||
4424 | 1534 | <property name="id">wxID_ANY</property> | ||
4425 | 1535 | <property name="label">Field 5</property> | ||
4426 | 1536 | <property name="max_size"></property> | ||
4427 | 1537 | <property name="maximize_button">0</property> | ||
4428 | 1538 | <property name="maximum_size"></property> | ||
4429 | 1539 | <property name="min_size"></property> | ||
4430 | 1540 | <property name="minimize_button">0</property> | ||
4431 | 1541 | <property name="minimum_size"></property> | ||
4432 | 1542 | <property name="moveable">1</property> | ||
4433 | 1543 | <property name="name">m_AddField5</property> | ||
4434 | 1544 | <property name="pane_border">1</property> | ||
4435 | 1545 | <property name="pane_position"></property> | ||
4436 | 1546 | <property name="pane_size"></property> | ||
4437 | 1547 | <property name="permission">protected</property> | ||
4438 | 1548 | <property name="pin_button">1</property> | ||
4439 | 1549 | <property name="pos"></property> | ||
4440 | 1550 | <property name="resize">Resizable</property> | ||
4441 | 1551 | <property name="show">1</property> | ||
4442 | 1552 | <property name="size"></property> | ||
4443 | 1553 | <property name="style"></property> | ||
4444 | 1554 | <property name="subclass"></property> | ||
4445 | 1555 | <property name="toolbar_pane">0</property> | ||
4446 | 1556 | <property name="tooltip"></property> | ||
4447 | 1557 | <property name="validator_data_type"></property> | ||
4448 | 1558 | <property name="validator_style">wxFILTER_NONE</property> | ||
4449 | 1559 | <property name="validator_type">wxDefaultValidator</property> | ||
4450 | 1560 | <property name="validator_variable"></property> | ||
4451 | 1561 | <property name="window_extra_style"></property> | ||
4452 | 1562 | <property name="window_name"></property> | ||
4453 | 1563 | <property name="window_style"></property> | ||
4454 | 1564 | <event name="OnChar"></event> | ||
4455 | 1565 | <event name="OnCheckBox"></event> | ||
4456 | 1566 | <event name="OnEnterWindow"></event> | ||
4457 | 1567 | <event name="OnEraseBackground"></event> | ||
4458 | 1568 | <event name="OnKeyDown"></event> | ||
4459 | 1569 | <event name="OnKeyUp"></event> | ||
4460 | 1570 | <event name="OnKillFocus"></event> | ||
4461 | 1571 | <event name="OnLeaveWindow"></event> | ||
4462 | 1572 | <event name="OnLeftDClick"></event> | ||
4463 | 1573 | <event name="OnLeftDown"></event> | ||
4464 | 1574 | <event name="OnLeftUp"></event> | ||
4465 | 1575 | <event name="OnMiddleDClick"></event> | ||
4466 | 1576 | <event name="OnMiddleDown"></event> | ||
4467 | 1577 | <event name="OnMiddleUp"></event> | ||
4468 | 1578 | <event name="OnMotion"></event> | ||
4469 | 1579 | <event name="OnMouseEvents"></event> | ||
4470 | 1580 | <event name="OnMouseWheel"></event> | ||
4471 | 1581 | <event name="OnPaint"></event> | ||
4472 | 1582 | <event name="OnRightDClick"></event> | ||
4473 | 1583 | <event name="OnRightDown"></event> | ||
4474 | 1584 | <event name="OnRightUp"></event> | ||
4475 | 1585 | <event name="OnSetFocus"></event> | ||
4476 | 1586 | <event name="OnSize"></event> | ||
4477 | 1587 | <event name="OnUpdateUI"></event> | ||
4478 | 1588 | </object> | ||
4479 | 1589 | </object> | ||
4480 | 1590 | <object class="sizeritem" expanded="1"> | ||
4481 | 1591 | <property name="border">5</property> | ||
4482 | 1592 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4483 | 1593 | <property name="proportion">0</property> | ||
4484 | 1594 | <object class="wxCheckBox" expanded="1"> | ||
4485 | 1595 | <property name="BottomDockable">1</property> | ||
4486 | 1596 | <property name="LeftDockable">1</property> | ||
4487 | 1597 | <property name="RightDockable">1</property> | ||
4488 | 1598 | <property name="TopDockable">1</property> | ||
4489 | 1599 | <property name="aui_layer"></property> | ||
4490 | 1600 | <property name="aui_name"></property> | ||
4491 | 1601 | <property name="aui_position"></property> | ||
4492 | 1602 | <property name="aui_row"></property> | ||
4493 | 1603 | <property name="best_size"></property> | ||
4494 | 1604 | <property name="bg"></property> | ||
4495 | 1605 | <property name="caption"></property> | ||
4496 | 1606 | <property name="caption_visible">1</property> | ||
4497 | 1607 | <property name="center_pane">0</property> | ||
4498 | 1608 | <property name="checked">0</property> | ||
4499 | 1609 | <property name="close_button">1</property> | ||
4500 | 1610 | <property name="context_help"></property> | ||
4501 | 1611 | <property name="context_menu">1</property> | ||
4502 | 1612 | <property name="default_pane">0</property> | ||
4503 | 1613 | <property name="dock">Dock</property> | ||
4504 | 1614 | <property name="dock_fixed">0</property> | ||
4505 | 1615 | <property name="docking">Left</property> | ||
4506 | 1616 | <property name="enabled">1</property> | ||
4507 | 1617 | <property name="fg"></property> | ||
4508 | 1618 | <property name="floatable">1</property> | ||
4509 | 1619 | <property name="font"></property> | ||
4510 | 1620 | <property name="gripper">0</property> | ||
4511 | 1621 | <property name="hidden">0</property> | ||
4512 | 1622 | <property name="id">wxID_ANY</property> | ||
4513 | 1623 | <property name="label">Field 6</property> | ||
4514 | 1624 | <property name="max_size"></property> | ||
4515 | 1625 | <property name="maximize_button">0</property> | ||
4516 | 1626 | <property name="maximum_size"></property> | ||
4517 | 1627 | <property name="min_size"></property> | ||
4518 | 1628 | <property name="minimize_button">0</property> | ||
4519 | 1629 | <property name="minimum_size"></property> | ||
4520 | 1630 | <property name="moveable">1</property> | ||
4521 | 1631 | <property name="name">m_AddField6</property> | ||
4522 | 1632 | <property name="pane_border">1</property> | ||
4523 | 1633 | <property name="pane_position"></property> | ||
4524 | 1634 | <property name="pane_size"></property> | ||
4525 | 1635 | <property name="permission">protected</property> | ||
4526 | 1636 | <property name="pin_button">1</property> | ||
4527 | 1637 | <property name="pos"></property> | ||
4528 | 1638 | <property name="resize">Resizable</property> | ||
4529 | 1639 | <property name="show">1</property> | ||
4530 | 1640 | <property name="size"></property> | ||
4531 | 1641 | <property name="style"></property> | ||
4532 | 1642 | <property name="subclass"></property> | ||
4533 | 1643 | <property name="toolbar_pane">0</property> | ||
4534 | 1644 | <property name="tooltip"></property> | ||
4535 | 1645 | <property name="validator_data_type"></property> | ||
4536 | 1646 | <property name="validator_style">wxFILTER_NONE</property> | ||
4537 | 1647 | <property name="validator_type">wxDefaultValidator</property> | ||
4538 | 1648 | <property name="validator_variable"></property> | ||
4539 | 1649 | <property name="window_extra_style"></property> | ||
4540 | 1650 | <property name="window_name"></property> | ||
4541 | 1651 | <property name="window_style"></property> | ||
4542 | 1652 | <event name="OnChar"></event> | ||
4543 | 1653 | <event name="OnCheckBox"></event> | ||
4544 | 1654 | <event name="OnEnterWindow"></event> | ||
4545 | 1655 | <event name="OnEraseBackground"></event> | ||
4546 | 1656 | <event name="OnKeyDown"></event> | ||
4547 | 1657 | <event name="OnKeyUp"></event> | ||
4548 | 1658 | <event name="OnKillFocus"></event> | ||
4549 | 1659 | <event name="OnLeaveWindow"></event> | ||
4550 | 1660 | <event name="OnLeftDClick"></event> | ||
4551 | 1661 | <event name="OnLeftDown"></event> | ||
4552 | 1662 | <event name="OnLeftUp"></event> | ||
4553 | 1663 | <event name="OnMiddleDClick"></event> | ||
4554 | 1664 | <event name="OnMiddleDown"></event> | ||
4555 | 1665 | <event name="OnMiddleUp"></event> | ||
4556 | 1666 | <event name="OnMotion"></event> | ||
4557 | 1667 | <event name="OnMouseEvents"></event> | ||
4558 | 1668 | <event name="OnMouseWheel"></event> | ||
4559 | 1669 | <event name="OnPaint"></event> | ||
4560 | 1670 | <event name="OnRightDClick"></event> | ||
4561 | 1671 | <event name="OnRightDown"></event> | ||
4562 | 1672 | <event name="OnRightUp"></event> | ||
4563 | 1673 | <event name="OnSetFocus"></event> | ||
4564 | 1674 | <event name="OnSize"></event> | ||
4565 | 1675 | <event name="OnUpdateUI"></event> | ||
4566 | 1676 | </object> | ||
4567 | 1677 | </object> | ||
4568 | 1678 | <object class="sizeritem" expanded="1"> | ||
4569 | 1679 | <property name="border">5</property> | ||
4570 | 1680 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4571 | 1681 | <property name="proportion">0</property> | ||
4572 | 1682 | <object class="wxCheckBox" expanded="1"> | ||
4573 | 1683 | <property name="BottomDockable">1</property> | ||
4574 | 1684 | <property name="LeftDockable">1</property> | ||
4575 | 1685 | <property name="RightDockable">1</property> | ||
4576 | 1686 | <property name="TopDockable">1</property> | ||
4577 | 1687 | <property name="aui_layer"></property> | ||
4578 | 1688 | <property name="aui_name"></property> | ||
4579 | 1689 | <property name="aui_position"></property> | ||
4580 | 1690 | <property name="aui_row"></property> | ||
4581 | 1691 | <property name="best_size"></property> | ||
4582 | 1692 | <property name="bg"></property> | ||
4583 | 1693 | <property name="caption"></property> | ||
4584 | 1694 | <property name="caption_visible">1</property> | ||
4585 | 1695 | <property name="center_pane">0</property> | ||
4586 | 1696 | <property name="checked">0</property> | ||
4587 | 1697 | <property name="close_button">1</property> | ||
4588 | 1698 | <property name="context_help"></property> | ||
4589 | 1699 | <property name="context_menu">1</property> | ||
4590 | 1700 | <property name="default_pane">0</property> | ||
4591 | 1701 | <property name="dock">Dock</property> | ||
4592 | 1702 | <property name="dock_fixed">0</property> | ||
4593 | 1703 | <property name="docking">Left</property> | ||
4594 | 1704 | <property name="enabled">1</property> | ||
4595 | 1705 | <property name="fg"></property> | ||
4596 | 1706 | <property name="floatable">1</property> | ||
4597 | 1707 | <property name="font"></property> | ||
4598 | 1708 | <property name="gripper">0</property> | ||
4599 | 1709 | <property name="hidden">0</property> | ||
4600 | 1710 | <property name="id">wxID_ANY</property> | ||
4601 | 1711 | <property name="label">Field 7</property> | ||
4602 | 1712 | <property name="max_size"></property> | ||
4603 | 1713 | <property name="maximize_button">0</property> | ||
4604 | 1714 | <property name="maximum_size"></property> | ||
4605 | 1715 | <property name="min_size"></property> | ||
4606 | 1716 | <property name="minimize_button">0</property> | ||
4607 | 1717 | <property name="minimum_size"></property> | ||
4608 | 1718 | <property name="moveable">1</property> | ||
4609 | 1719 | <property name="name">m_AddField7</property> | ||
4610 | 1720 | <property name="pane_border">1</property> | ||
4611 | 1721 | <property name="pane_position"></property> | ||
4612 | 1722 | <property name="pane_size"></property> | ||
4613 | 1723 | <property name="permission">protected</property> | ||
4614 | 1724 | <property name="pin_button">1</property> | ||
4615 | 1725 | <property name="pos"></property> | ||
4616 | 1726 | <property name="resize">Resizable</property> | ||
4617 | 1727 | <property name="show">1</property> | ||
4618 | 1728 | <property name="size"></property> | ||
4619 | 1729 | <property name="style"></property> | ||
4620 | 1730 | <property name="subclass"></property> | ||
4621 | 1731 | <property name="toolbar_pane">0</property> | ||
4622 | 1732 | <property name="tooltip"></property> | ||
4623 | 1733 | <property name="validator_data_type"></property> | ||
4624 | 1734 | <property name="validator_style">wxFILTER_NONE</property> | ||
4625 | 1735 | <property name="validator_type">wxDefaultValidator</property> | ||
4626 | 1736 | <property name="validator_variable"></property> | ||
4627 | 1737 | <property name="window_extra_style"></property> | ||
4628 | 1738 | <property name="window_name"></property> | ||
4629 | 1739 | <property name="window_style"></property> | ||
4630 | 1740 | <event name="OnChar"></event> | ||
4631 | 1741 | <event name="OnCheckBox"></event> | ||
4632 | 1742 | <event name="OnEnterWindow"></event> | ||
4633 | 1743 | <event name="OnEraseBackground"></event> | ||
4634 | 1744 | <event name="OnKeyDown"></event> | ||
4635 | 1745 | <event name="OnKeyUp"></event> | ||
4636 | 1746 | <event name="OnKillFocus"></event> | ||
4637 | 1747 | <event name="OnLeaveWindow"></event> | ||
4638 | 1748 | <event name="OnLeftDClick"></event> | ||
4639 | 1749 | <event name="OnLeftDown"></event> | ||
4640 | 1750 | <event name="OnLeftUp"></event> | ||
4641 | 1751 | <event name="OnMiddleDClick"></event> | ||
4642 | 1752 | <event name="OnMiddleDown"></event> | ||
4643 | 1753 | <event name="OnMiddleUp"></event> | ||
4644 | 1754 | <event name="OnMotion"></event> | ||
4645 | 1755 | <event name="OnMouseEvents"></event> | ||
4646 | 1756 | <event name="OnMouseWheel"></event> | ||
4647 | 1757 | <event name="OnPaint"></event> | ||
4648 | 1758 | <event name="OnRightDClick"></event> | ||
4649 | 1759 | <event name="OnRightDown"></event> | ||
4650 | 1760 | <event name="OnRightUp"></event> | ||
4651 | 1761 | <event name="OnSetFocus"></event> | ||
4652 | 1762 | <event name="OnSize"></event> | ||
4653 | 1763 | <event name="OnUpdateUI"></event> | ||
4654 | 1764 | </object> | ||
4655 | 1765 | </object> | ||
4656 | 1766 | <object class="sizeritem" expanded="1"> | ||
4657 | 1767 | <property name="border">5</property> | ||
4658 | 1768 | <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> | ||
4659 | 1769 | <property name="proportion">0</property> | ||
4660 | 1770 | <object class="wxCheckBox" expanded="1"> | ||
4661 | 1771 | <property name="BottomDockable">1</property> | ||
4662 | 1772 | <property name="LeftDockable">1</property> | ||
4663 | 1773 | <property name="RightDockable">1</property> | ||
4664 | 1774 | <property name="TopDockable">1</property> | ||
4665 | 1775 | <property name="aui_layer"></property> | ||
4666 | 1776 | <property name="aui_name"></property> | ||
4667 | 1777 | <property name="aui_position"></property> | ||
4668 | 1778 | <property name="aui_row"></property> | ||
4669 | 1779 | <property name="best_size"></property> | ||
4670 | 1780 | <property name="bg"></property> | ||
4671 | 1781 | <property name="caption"></property> | ||
4672 | 1782 | <property name="caption_visible">1</property> | ||
4673 | 1783 | <property name="center_pane">0</property> | ||
4674 | 1784 | <property name="checked">0</property> | ||
4675 | 1785 | <property name="close_button">1</property> | ||
4676 | 1786 | <property name="context_help"></property> | ||
4677 | 1787 | <property name="context_menu">1</property> | ||
4678 | 1788 | <property name="default_pane">0</property> | ||
4679 | 1789 | <property name="dock">Dock</property> | ||
4680 | 1790 | <property name="dock_fixed">0</property> | ||
4681 | 1791 | <property name="docking">Left</property> | ||
4682 | 1792 | <property name="enabled">1</property> | ||
4683 | 1793 | <property name="fg"></property> | ||
4684 | 1794 | <property name="floatable">1</property> | ||
4685 | 1795 | <property name="font"></property> | ||
4686 | 1796 | <property name="gripper">0</property> | ||
4687 | 1797 | <property name="hidden">0</property> | ||
4688 | 1798 | <property name="id">wxID_ANY</property> | ||
4689 | 1799 | <property name="label">Field 8</property> | ||
4690 | 1800 | <property name="max_size"></property> | ||
4691 | 1801 | <property name="maximize_button">0</property> | ||
4692 | 1802 | <property name="maximum_size"></property> | ||
4693 | 1803 | <property name="min_size"></property> | ||
4694 | 1804 | <property name="minimize_button">0</property> | ||
4695 | 1805 | <property name="minimum_size"></property> | ||
4696 | 1806 | <property name="moveable">1</property> | ||
4697 | 1807 | <property name="name">m_AddField8</property> | ||
4698 | 1808 | <property name="pane_border">1</property> | ||
4699 | 1809 | <property name="pane_position"></property> | ||
4700 | 1810 | <property name="pane_size"></property> | ||
4701 | 1811 | <property name="permission">protected</property> | ||
4702 | 1812 | <property name="pin_button">1</property> | ||
4703 | 1813 | <property name="pos"></property> | ||
4704 | 1814 | <property name="resize">Resizable</property> | ||
4705 | 1815 | <property name="show">1</property> | ||
4706 | 1816 | <property name="size"></property> | ||
4707 | 1817 | <property name="style"></property> | ||
4708 | 1818 | <property name="subclass"></property> | ||
4709 | 1819 | <property name="toolbar_pane">0</property> | ||
4710 | 1820 | <property name="tooltip"></property> | ||
4711 | 1821 | <property name="validator_data_type"></property> | ||
4712 | 1822 | <property name="validator_style">wxFILTER_NONE</property> | ||
4713 | 1823 | <property name="validator_type">wxDefaultValidator</property> | ||
4714 | 1824 | <property name="validator_variable"></property> | ||
4715 | 1825 | <property name="window_extra_style"></property> | ||
4716 | 1826 | <property name="window_name"></property> | ||
4717 | 1827 | <property name="window_style"></property> | ||
4718 | 1828 | <event name="OnChar"></event> | ||
4719 | 1829 | <event name="OnCheckBox"></event> | ||
4720 | 1830 | <event name="OnEnterWindow"></event> | ||
4721 | 1831 | <event name="OnEraseBackground"></event> | ||
4722 | 1832 | <event name="OnKeyDown"></event> | ||
4723 | 1833 | <event name="OnKeyUp"></event> | ||
4724 | 1834 | <event name="OnKillFocus"></event> | ||
4725 | 1835 | <event name="OnLeaveWindow"></event> | ||
4726 | 1836 | <event name="OnLeftDClick"></event> | ||
4727 | 1837 | <event name="OnLeftDown"></event> | ||
4728 | 1838 | <event name="OnLeftUp"></event> | ||
4729 | 1839 | <event name="OnMiddleDClick"></event> | ||
4730 | 1840 | <event name="OnMiddleDown"></event> | ||
4731 | 1841 | <event name="OnMiddleUp"></event> | ||
4732 | 1842 | <event name="OnMotion"></event> | ||
4733 | 1843 | <event name="OnMouseEvents"></event> | ||
4734 | 1844 | <event name="OnMouseWheel"></event> | ||
4735 | 1845 | <event name="OnPaint"></event> | ||
4736 | 1846 | <event name="OnRightDClick"></event> | ||
4737 | 1847 | <event name="OnRightDown"></event> | ||
4738 | 1848 | <event name="OnRightUp"></event> | ||
4739 | 1849 | <event name="OnSetFocus"></event> | ||
4740 | 1850 | <event name="OnSize"></event> | ||
4741 | 1851 | <event name="OnUpdateUI"></event> | ||
4742 | 1852 | </object> | ||
4743 | 1853 | </object> | ||
4744 | 1854 | </object> | ||
4745 | 1855 | </object> | ||
4746 | 1856 | <object class="sizeritem" expanded="1"> | ||
4747 | 1857 | <property name="border">5</property> | ||
4748 | 1858 | <property name="flag">wxALL</property> | ||
4749 | 1859 | <property name="proportion">0</property> | ||
4750 | 1860 | <object class="wxCheckBox" expanded="1"> | ||
4751 | 1861 | <property name="BottomDockable">1</property> | ||
4752 | 1862 | <property name="LeftDockable">1</property> | ||
4753 | 1863 | <property name="RightDockable">1</property> | ||
4754 | 1864 | <property name="TopDockable">1</property> | ||
4755 | 1865 | <property name="aui_layer"></property> | ||
4756 | 1866 | <property name="aui_name"></property> | ||
4757 | 1867 | <property name="aui_position"></property> | ||
4758 | 1868 | <property name="aui_row"></property> | ||
4759 | 1869 | <property name="best_size"></property> | ||
4760 | 1870 | <property name="bg"></property> | ||
4761 | 1871 | <property name="caption"></property> | ||
4762 | 1872 | <property name="caption_visible">1</property> | ||
4763 | 1873 | <property name="center_pane">0</property> | ||
4764 | 1874 | <property name="checked">0</property> | ||
4765 | 1875 | <property name="close_button">1</property> | ||
4766 | 1876 | <property name="context_help"></property> | ||
4767 | 1877 | <property name="context_menu">1</property> | ||
4768 | 1878 | <property name="default_pane">0</property> | ||
4769 | 1879 | <property name="dock">Dock</property> | ||
4770 | 1880 | <property name="dock_fixed">0</property> | ||
4771 | 1881 | <property name="docking">Left</property> | ||
4772 | 1882 | <property name="enabled">1</property> | ||
4773 | 1883 | <property name="fg"></property> | ||
4774 | 1884 | <property name="floatable">1</property> | ||
4775 | 1885 | <property name="font"></property> | ||
4776 | 1886 | <property name="gripper">0</property> | ||
4777 | 1887 | <property name="hidden">0</property> | ||
4778 | 1888 | <property name="id">wxID_ANY</property> | ||
4779 | 1889 | <property name="label">All existing user fields</property> | ||
4780 | 1890 | <property name="max_size"></property> | ||
4781 | 1891 | <property name="maximize_button">0</property> | ||
4782 | 1892 | <property name="maximum_size"></property> | ||
4783 | 1893 | <property name="min_size"></property> | ||
4784 | 1894 | <property name="minimize_button">0</property> | ||
4785 | 1895 | <property name="minimum_size"></property> | ||
4786 | 1896 | <property name="moveable">1</property> | ||
4787 | 1897 | <property name="name">m_AddAllFields</property> | ||
4788 | 1898 | <property name="pane_border">1</property> | ||
4789 | 1899 | <property name="pane_position"></property> | ||
4790 | 1900 | <property name="pane_size"></property> | ||
4791 | 1901 | <property name="permission">protected</property> | ||
4792 | 1902 | <property name="pin_button">1</property> | ||
4793 | 1903 | <property name="pos"></property> | ||
4794 | 1904 | <property name="resize">Resizable</property> | ||
4795 | 1905 | <property name="show">1</property> | ||
4796 | 1906 | <property name="size"></property> | ||
4797 | 1907 | <property name="style"></property> | ||
4798 | 1908 | <property name="subclass"></property> | ||
4799 | 1909 | <property name="toolbar_pane">0</property> | ||
4800 | 1910 | <property name="tooltip"></property> | ||
4801 | 1911 | <property name="validator_data_type"></property> | ||
4802 | 1912 | <property name="validator_style">wxFILTER_NONE</property> | ||
4803 | 1913 | <property name="validator_type">wxDefaultValidator</property> | ||
4804 | 1914 | <property name="validator_variable"></property> | ||
4805 | 1915 | <property name="window_extra_style"></property> | ||
4806 | 1916 | <property name="window_name"></property> | ||
4807 | 1917 | <property name="window_style"></property> | ||
4808 | 1918 | <event name="OnChar"></event> | ||
4809 | 1919 | <event name="OnCheckBox"></event> | ||
4810 | 1920 | <event name="OnEnterWindow"></event> | ||
4811 | 1921 | <event name="OnEraseBackground"></event> | ||
4812 | 1922 | <event name="OnKeyDown"></event> | ||
4813 | 1923 | <event name="OnKeyUp"></event> | ||
4814 | 1924 | <event name="OnKillFocus"></event> | ||
4815 | 1925 | <event name="OnLeaveWindow"></event> | ||
4816 | 1926 | <event name="OnLeftDClick"></event> | ||
4817 | 1927 | <event name="OnLeftDown"></event> | ||
4818 | 1928 | <event name="OnLeftUp"></event> | ||
4819 | 1929 | <event name="OnMiddleDClick"></event> | ||
4820 | 1930 | <event name="OnMiddleDown"></event> | ||
4821 | 1931 | <event name="OnMiddleUp"></event> | ||
4822 | 1932 | <event name="OnMotion"></event> | ||
4823 | 1933 | <event name="OnMouseEvents"></event> | ||
4824 | 1934 | <event name="OnMouseWheel"></event> | ||
4825 | 1935 | <event name="OnPaint"></event> | ||
4826 | 1936 | <event name="OnRightDClick"></event> | ||
4827 | 1937 | <event name="OnRightDown"></event> | ||
4828 | 1938 | <event name="OnRightUp"></event> | ||
4829 | 1939 | <event name="OnSetFocus"></event> | ||
4830 | 1940 | <event name="OnSize"></event> | ||
4831 | 1941 | <event name="OnUpdateUI"></event> | ||
4832 | 1942 | </object> | ||
4833 | 1943 | </object> | ||
4834 | 1944 | </object> | ||
4835 | 1945 | </object> | ||
4836 | 1946 | </object> | ||
4837 | 1947 | </object> | ||
4838 | 1948 | </object> | ||
4839 | 1949 | </object> | ||
4840 | 1950 | <object class="sizeritem" expanded="1"> | ||
4841 | 1951 | <property name="border">5</property> | ||
4842 | 1952 | <property name="flag">wxEXPAND|wxLEFT|wxRIGHT</property> | ||
4843 | 1953 | <property name="proportion">0</property> | ||
4844 | 1954 | <object class="wxStaticLine" expanded="1"> | ||
4845 | 1955 | <property name="BottomDockable">1</property> | ||
4846 | 1956 | <property name="LeftDockable">1</property> | ||
4847 | 1957 | <property name="RightDockable">1</property> | ||
4848 | 1958 | <property name="TopDockable">1</property> | ||
4849 | 1959 | <property name="aui_layer"></property> | ||
4850 | 1960 | <property name="aui_name"></property> | ||
4851 | 1961 | <property name="aui_position"></property> | ||
4852 | 1962 | <property name="aui_row"></property> | ||
4853 | 1963 | <property name="best_size"></property> | ||
4854 | 1964 | <property name="bg"></property> | ||
4855 | 1965 | <property name="caption"></property> | ||
4856 | 1966 | <property name="caption_visible">1</property> | ||
4857 | 1967 | <property name="center_pane">0</property> | ||
4858 | 1968 | <property name="close_button">1</property> | ||
4859 | 1969 | <property name="context_help"></property> | ||
4860 | 1970 | <property name="context_menu">1</property> | ||
4861 | 1971 | <property name="default_pane">0</property> | ||
4862 | 1972 | <property name="dock">Dock</property> | ||
4863 | 1973 | <property name="dock_fixed">0</property> | ||
4864 | 1974 | <property name="docking">Left</property> | ||
4865 | 1975 | <property name="enabled">1</property> | ||
4866 | 1976 | <property name="fg"></property> | ||
4867 | 1977 | <property name="floatable">1</property> | ||
4868 | 1978 | <property name="font"></property> | ||
4869 | 1979 | <property name="gripper">0</property> | ||
4870 | 1980 | <property name="hidden">0</property> | ||
4871 | 1981 | <property name="id">wxID_ANY</property> | ||
4872 | 1982 | <property name="max_size"></property> | ||
4873 | 1983 | <property name="maximize_button">0</property> | ||
4874 | 1984 | <property name="maximum_size"></property> | ||
4875 | 1985 | <property name="min_size"></property> | ||
4876 | 1986 | <property name="minimize_button">0</property> | ||
4877 | 1987 | <property name="minimum_size"></property> | ||
4878 | 1988 | <property name="moveable">1</property> | ||
4879 | 1989 | <property name="name">m_staticline1</property> | ||
4880 | 1990 | <property name="pane_border">1</property> | ||
4881 | 1991 | <property name="pane_position"></property> | ||
4882 | 1992 | <property name="pane_size"></property> | ||
4883 | 1993 | <property name="permission">protected</property> | ||
4884 | 1994 | <property name="pin_button">1</property> | ||
4885 | 1995 | <property name="pos"></property> | ||
4886 | 1996 | <property name="resize">Resizable</property> | ||
4887 | 1997 | <property name="show">1</property> | ||
4888 | 1998 | <property name="size"></property> | ||
4889 | 1999 | <property name="style">wxLI_HORIZONTAL</property> | ||
4890 | 2000 | <property name="subclass"></property> | ||
4891 | 2001 | <property name="toolbar_pane">0</property> | ||
4892 | 2002 | <property name="tooltip"></property> | ||
4893 | 2003 | <property name="window_extra_style"></property> | ||
4894 | 2004 | <property name="window_name"></property> | ||
4895 | 2005 | <property name="window_style"></property> | ||
4896 | 2006 | <event name="OnChar"></event> | ||
4897 | 2007 | <event name="OnEnterWindow"></event> | ||
4898 | 2008 | <event name="OnEraseBackground"></event> | ||
4899 | 2009 | <event name="OnKeyDown"></event> | ||
4900 | 2010 | <event name="OnKeyUp"></event> | ||
4901 | 2011 | <event name="OnKillFocus"></event> | ||
4902 | 2012 | <event name="OnLeaveWindow"></event> | ||
4903 | 2013 | <event name="OnLeftDClick"></event> | ||
4904 | 2014 | <event name="OnLeftDown"></event> | ||
4905 | 2015 | <event name="OnLeftUp"></event> | ||
4906 | 2016 | <event name="OnMiddleDClick"></event> | ||
4907 | 2017 | <event name="OnMiddleDown"></event> | ||
4908 | 2018 | <event name="OnMiddleUp"></event> | ||
4909 | 2019 | <event name="OnMotion"></event> | ||
4910 | 2020 | <event name="OnMouseEvents"></event> | ||
4911 | 2021 | <event name="OnMouseWheel"></event> | ||
4912 | 2022 | <event name="OnPaint"></event> | ||
4913 | 2023 | <event name="OnRightDClick"></event> | ||
4914 | 2024 | <event name="OnRightDown"></event> | ||
4915 | 2025 | <event name="OnRightUp"></event> | ||
4916 | 2026 | <event name="OnSetFocus"></event> | ||
4917 | 2027 | <event name="OnSize"></event> | ||
4918 | 2028 | <event name="OnUpdateUI"></event> | ||
4919 | 2029 | </object> | ||
4920 | 2030 | </object> | ||
4921 | 2031 | <object class="sizeritem" expanded="1"> | ||
4922 | 2032 | <property name="border">5</property> | ||
4923 | 2033 | <property name="flag">wxALL|wxEXPAND</property> | ||
4924 | 2034 | <property name="proportion">0</property> | ||
4925 | 2035 | <object class="wxStdDialogButtonSizer" expanded="1"> | ||
4926 | 2036 | <property name="Apply">0</property> | ||
4927 | 2037 | <property name="Cancel">1</property> | ||
4928 | 2038 | <property name="ContextHelp">0</property> | ||
4929 | 2039 | <property name="Help">0</property> | ||
4930 | 2040 | <property name="No">0</property> | ||
4931 | 2041 | <property name="OK">1</property> | ||
4932 | 2042 | <property name="Save">0</property> | ||
4933 | 2043 | <property name="Yes">0</property> | ||
4934 | 2044 | <property name="minimum_size"></property> | ||
4935 | 2045 | <property name="name">m_sdbSizer</property> | ||
4936 | 2046 | <property name="permission">protected</property> | ||
4937 | 2047 | <event name="OnApplyButtonClick"></event> | ||
4938 | 2048 | <event name="OnCancelButtonClick">OnCancelClick</event> | ||
4939 | 2049 | <event name="OnContextHelpButtonClick"></event> | ||
4940 | 2050 | <event name="OnHelpButtonClick"></event> | ||
4941 | 2051 | <event name="OnNoButtonClick"></event> | ||
4942 | 2052 | <event name="OnOKButtonClick">OnOkClick</event> | ||
4943 | 2053 | <event name="OnSaveButtonClick"></event> | ||
4944 | 2054 | <event name="OnYesButtonClick"></event> | ||
4945 | 2055 | </object> | ||
4946 | 2056 | </object> | ||
4947 | 2057 | </object> | ||
4948 | 2058 | </object> | ||
4949 | 2059 | </object> | ||
4950 | 2060 | </wxFormBuilder_Project> | ||
4951 | 0 | 2061 | ||
4952 | === added file 'eeschema/BOM/dialogs/dialog_build_BOM_base.h' | |||
4953 | --- eeschema/BOM/dialogs/dialog_build_BOM_base.h 1970-01-01 00:00:00 +0000 | |||
4954 | +++ eeschema/BOM/dialogs/dialog_build_BOM_base.h 2015-06-20 07:42:20 +0000 | |||
4955 | @@ -0,0 +1,83 @@ | |||
4956 | 1 | /////////////////////////////////////////////////////////////////////////// | ||
4957 | 2 | // C++ code generated with wxFormBuilder (version Oct 8 2012) | ||
4958 | 3 | // http://www.wxformbuilder.org/ | ||
4959 | 4 | // | ||
4960 | 5 | // PLEASE DO "NOT" EDIT THIS FILE! | ||
4961 | 6 | /////////////////////////////////////////////////////////////////////////// | ||
4962 | 7 | |||
4963 | 8 | #ifndef __DIALOG_BUILD_BOM_BASE_H__ | ||
4964 | 9 | #define __DIALOG_BUILD_BOM_BASE_H__ | ||
4965 | 10 | |||
4966 | 11 | #include <wx/artprov.h> | ||
4967 | 12 | #include <wx/xrc/xmlres.h> | ||
4968 | 13 | #include <wx/intl.h> | ||
4969 | 14 | class DIALOG_SHIM; | ||
4970 | 15 | |||
4971 | 16 | #include "dialog_shim.h" | ||
4972 | 17 | #include <wx/string.h> | ||
4973 | 18 | #include <wx/checkbox.h> | ||
4974 | 19 | #include <wx/gdicmn.h> | ||
4975 | 20 | #include <wx/font.h> | ||
4976 | 21 | #include <wx/colour.h> | ||
4977 | 22 | #include <wx/settings.h> | ||
4978 | 23 | #include <wx/sizer.h> | ||
4979 | 24 | #include <wx/statbox.h> | ||
4980 | 25 | #include <wx/radiobox.h> | ||
4981 | 26 | #include <wx/statline.h> | ||
4982 | 27 | #include <wx/button.h> | ||
4983 | 28 | #include <wx/dialog.h> | ||
4984 | 29 | |||
4985 | 30 | /////////////////////////////////////////////////////////////////////////// | ||
4986 | 31 | |||
4987 | 32 | /////////////////////////////////////////////////////////////////////////////// | ||
4988 | 33 | /// Class DIALOG_BUILD_BOM_BASE | ||
4989 | 34 | /////////////////////////////////////////////////////////////////////////////// | ||
4990 | 35 | class DIALOG_BUILD_BOM_BASE : public DIALOG_SHIM | ||
4991 | 36 | { | ||
4992 | 37 | private: | ||
4993 | 38 | |||
4994 | 39 | protected: | ||
4995 | 40 | enum | ||
4996 | 41 | { | ||
4997 | 42 | ID_RADIOBOX_SELECT_FORMAT = 1000 | ||
4998 | 43 | }; | ||
4999 | 44 | |||
5000 | 45 | wxCheckBox* m_ListCmpbyRefItems; |
Alexander,
This is a very large patch (6400 lines), without any explanation, and not comments in sources.
What is the purpose of this patch?
Many strings are not in English, which could be internationalized.
When not in English, most of developpers cannot understand them (Note there is not French strings in Kicad, and I am a French guy).