← Back to team overview

kicad-developers team mailing list archive

Re: writing a new top level wxPython based project manager

 

HI,
      Jean Thanx for the help....those snapshot are helping me. I want to
implement Pie Menu. Please help me how i cani implement this in wxPython.
Some links would be good. And if implementing this would be prodcutive
thanplease let me know.


On Fri, Apr 4, 2014 at 9:12 PM, Carl Poirier <carl.poirier.2@xxxxxxxxx>wrote:

> Say with another tab, for example. Then it would list the project-specific
> libraires, and one could open them for editing.
>
>
> On Fri, Apr 4, 2014 at 11:31 AM, Dick Hollenbeck <dick@xxxxxxxxxxx> wrote:
>
>> On 04/04/2014 10:14 AM, Carl Poirier wrote:
>> > Both look great, but I prefer option 1.
>> >
>> > What if the project-specific libraries were also accessible from there?
>>
>>
>> Accessible in what way?   Please elaborate in detail.
>>
>>
>> I know it's not in
>> > the initial requirements; I'm just throwing in the idea.
>> >
>> >
>> > On Fri, Apr 4, 2014 at 10:41 AM, Dick Hollenbeck <dick@xxxxxxxxxxx
>> > <mailto:dick@xxxxxxxxxxx>> wrote:
>> >
>> >     Thanks Jean-Samuel, very very much!
>> >
>> >     You seem to have met the "multiple open projects" criterion, so
>> your proposals are both
>> >     potential starting points.  Since we're still in a brain-storming
>> phase, I won't offer any
>> >     feedback yet, since that can stifle creativity during a
>> brain-storming phase.
>> >
>> >
>> >     Dick
>> >
>> >
>> >     On 04/03/2014 03:30 PM, Jean-Samuel Reynaud wrote:
>> >     > Hi all,
>> >     >
>> >     > Please find attached a quick view of 3 possibles frame on wxpython
>> >     > project manager.
>> >     > I'm not a specialist of ergonomics/design but it is some ideas I
>> have.
>> >     >
>> >     > 1/ a welcome frame
>> >     > Should include logo, welcome message and a list of last opened
>> projects
>> >     > for example
>> >     >
>> >     > 2/ Projects
>> >     > On the two options project are tabs (horizontal). Two options for
>> the
>> >     > content of a project frame:
>> >     >
>> >     >  Option1: Vertical tabs for schematic/footprint association/pcb
>> >     >    => In this case all configuration (project configuration...)
>> should
>> >     > be done inside the main menu as before
>> >     >
>> >     >  Option2: Tree
>> >     >   => In this case a rigth click on project open a submenu with
>> >     > configuration options
>> >     >   => Same for all others tree entries (right click on pcb will
>> allow
>> >     > edition of pcb parameters...)
>> >     >   => The schematic hiearchicy should be visible directly on this
>> tree as
>> >     > sub items
>> >     >
>> >     > To build this I use wxFormBuilder to start and some override to
>> handle
>> >     > event/image/content...
>> >     >
>> >     > Is it the way you are waiting for ?
>> >     > Suggestions, comments ?
>> >     >
>> >     > @dick
>> >     > For the moment, the code do nothing it only a skeleton but I can
>> >     > commit/push it you want
>> >     >
>> >     > Le 02/04/2014 23:32, Dick Hollenbeck a écrit :
>> >     >> On 04/02/2014 12:39 PM, Dick Hollenbeck wrote:
>> >     >>> Here is more info, which will help you create some low level
>> mock up classes.
>> >     >>>
>> >     >>> Class KIWAY_MGR:
>> >     >>> (temporarily in kicad/kicad.cpp) will get swigged, creating a
>> python class implemented
>> >     >>> fully in C++.  It is a collection of PROJECTs/KIWAYs.  The
>> constructor of this
>> >     class may
>> >     >>> take a wxFrame*, so we have the option of hooking child frames
>> into that parent.
>> >      Possible
>> >     >>> functions:
>> >     >>>   createProject( full_path_to_pro_file )
>> >     >>>   openProject( full_path_to_pro_file )
>> >     >>>   listProjects()
>> >     >>>
>> >     >>>
>> >     >>> Class KIWAY:
>> >     >>> will get swigged, creating a python class implemented fully in
>> C++.  Possible
>> >     functions:
>> >     >>>   openSchematic()  no args required, schematic's name is in the
>> *.pro file.
>> >     >>>   openBoard() no args required, board's name is in the *.pro
>> file.
>> >     >>>
>> >     >>>
>> >     >>> Just with this sketch, you should be able to mock enough both
>> of these classes,
>> >     enough to
>> >     >>> work magic at in the UI layer.  If you want to open dummy child
>> frames, that would
>> >     be ok
>> >     >>> from openSchematic and openBoard().
>> >     >>>
>> >     >>>
>> >     >>> Feel free to add functions as you find needs for them.  This
>> will give us an
>> >     aspect of top
>> >     >>> down design.
>> >     >>>
>> >     >>>
>> >     >>> HTH,
>> >     >>>
>> >     >>> Dick
>> >     >>>
>> >     >>>
>> >     >>>
>> >     >>>
>> >     >>>
>> >     >>> On 04/02/2014 11:58 AM, Dick Hollenbeck wrote:
>> >     >>>> Hi Jean-Samuel,
>> >     >>>>
>> >     >>>> Thanks very much for your willingness to help!
>> >     >>>>
>> >     >>>> In answer to your question:
>> >     >>>>
>> >     >>>> The wxPython project manager sketch up should concentrate on
>> the user interface,
>> >     not the
>> >     >>>> actual loading of the sub programs.  In fact, if it did not
>> load the subprograms
>> >     at all,
>> >     >>>> that would be acceptable.  The screen real-estate usage, and
>> the icons and
>> >     whatnot are
>> >     >>>> what's important for now.  You could create scaffolding to
>> mark a project and a
>> >     kiface as
>> >     >>>> being loaded, and test your UI code against that scaffolding,
>> without ever
>> >     loading any
>> >     >>>> projects or opening any child frames.
>> >     >>>>
>> >     >>>> In milestone B) we are putting a top C++ API into the KIWAY,
>> this is not designed
>> >     yet.
>> >     >>>> You should not use the KIFACE from python, that was never
>> intended.  Python will
>> >     use the
>> >     >>>> KIWAY API, which in turn will manage the KIFACE's and projects
>> using C++.
>> >     >>>>
>> >     >>>> If you really really want to launch something, then
>> encapsulate that python code into
>> >     >>>> something which will be replaced later, and simply load
>> pcbnew.exe for now from that
>> >     >>>> disposable code.  This code will get swapped out later, in
>> favor of the KIWAY
>> >     API, which
>> >     >>>> will do the actuall loading of the *.kiface, again from C++.
>>  This is necessary
>> >     so that
>> >     >>>> the KIFACE to KIFACE
>> >     >> oops, meant not "KIFACE to KIFACE", but rather
>> >     >>
>> >     >> "project specific KIWAY_PLAYER to KIWAY_PLAYER"
>> >     >>
>> >     >>
>> >     >> comms can work for things like back annotation, and
>> pcbnew<->eeschema
>> >     >>>> cross-probing, per project.
>> >     >>>>
>> >     >>>>
>> >     >>>> There's actually little value in loading executables or
>> kiface's right now.
>> >      Folks will
>> >     >>>> use the C++ project manager until the user interface in the
>> python project manager is
>> >     >>>> superior.  So please focus on the user interface, that's the
>> value added stuff.
>> >     >>>>
>> >     >>>> After milestone B) that's when we start to worry about loading
>> the submodules
>> >     (kifaces).
>> >     >>>>
>> >     >>>>
>> >     >>>> Thanks,
>> >     >>>>
>> >     >>>> Dick
>> >     >>>>
>> >     >>>>
>> >     >>>>
>> >     >>>> On 04/02/2014 11:23 AM, Jean-Samuel Reynaud wrote:
>> >     >>>>> Hi
>> >     >>>>>
>> >     >>>>> As I understand, one of the feature of this new interface is
>> to load directly
>> >     from python
>> >     >>>>> the kiface interface (instead of just launch the program aka
>> pcbnew/cvpcb for
>> >     example).
>> >     >>>>> Is it right ?
>> >     >>>>> As I see, the function KIFACE_1 return a struct with inside
>> all function to use
>> >     (one of
>> >     >>>>> them is createwindow).
>> >     >>>>> Could you confirm it's the way you think about ?
>> >     >>>>> If yes, ctypes from python will help me and I think I'll
>> fight with the structure
>> >     >>>>> definition inside python...
>> >     >>>>>
>> >     >>>>>
>> >     >>>>> Regards
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>
>> >     >>>>> 2014-04-01 15:47 GMT+02:00 Dick Hollenbeck <dick@xxxxxxxxxxx
>> >     <mailto:dick@xxxxxxxxxxx> <mailto:dick@xxxxxxxxxxx <mailto:
>> dick@xxxxxxxxxxx>>>:
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>     In English there is a saying: "Competition breeds
>> success."
>> >     >>>>>
>> >     >>>>>     I would consider it a luxury to be able to choose
>> [pieces] from multiple
>> >     implementations.
>> >     >>>>>      Competition in this case is not exactly cruel and
>> unusual punishment.  In
>> >     fact it could
>> >     >>>>>     be an *awful lot of fun*, since wxPython is such a high
>> level language and
>> >     so much can be
>> >     >>>>>     done in so few lines of code.
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>     You may either compete or collaborate.   I think we'll
>> get more ideas if
>> >     there is
>> >     >>>>>     competition.  After choices are made, you can continue to
>> compete,
>> >     improving, innovating
>> >     >>>>>     and serving your own needs, even if your code is not
>> merged up to that point
>> >     in time.
>> >     >>>>>     Repeat that last sentence.
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>     Any implementation which does not meet the primary
>> objective: "showing which
>> >     projects are
>> >     >>>>>     open, among a larger set of project possibilities" will
>> lose the
>> >     competition.  (Even if
>> >     >>>>>     there is only one entry into the competition, *multiple*
>> open projects is a
>> >     mandate.)
>> >     >>>>>     Using screen real estate for a permanently visible
>> directory tree may not be
>> >     an optimal
>> >     >>>>>     pathway to achieving the objective.
>> >     >>>>>
>> >     >>>>>     Some tips:
>> >     >>>>>
>> >     >>>>>     a) the directory tree does not give sufficient emphasis
>> on what constitutes
>> >     a project.
>> >     >>>>>
>> >     >>>>>     b) the directory tree does not give the ability to show
>> several open
>> >     projects without a
>> >     >>>>>     sea of rows of actual files in between.
>> >     >>>>>
>> >     >>>>>     c) we need to be more project centric, less file centric.
>> >     >>>>>
>> >     >>>>>     d) once projects have been defined, the user interface
>> procedure to opening
>> >     the schematic
>> >     >>>>>     or layout tools on any of those projects needs to be lean.
>> >     >>>>>
>> >     >>>>>     e) I'm thinking the set of files that constitute a
>> project can continue to
>> >     reside in the
>> >     >>>>>     *.pro file.
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>
>> >     >>>>>     On 04/01/2014 07:24 AM, dileep kushwaha wrote:
>> >     >>>>>     > Hi,
>> >     >>>>>     >      I have so far made the menubar for the wxPython. I
>> now want to
>> >     integrate the
>> >     >>>>>     > mainmenu.py to KiCAD instead of .cpp codes. I little
>> hint and guidence
>> >     will be great. I
>> >     >>>>>     > can send the code. Its ugly right now. i'll modify it
>> according to
>> >     guidlines after
>> >     >>>>>     > completing significant portion...(i see three .cpp
>> files that will have to
>> >     changed)
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     > On Tue, Apr 1, 2014 at 9:14 AM, dileep kushwaha <
>> dilzverykool@xxxxxxxxx
>> >     <mailto:dilzverykool@xxxxxxxxx>
>> >     >>>>>     <mailto:dilzverykool@xxxxxxxxx <mailto:
>> dilzverykool@xxxxxxxxx>>
>> >     >>>>>     > <mailto:dilzverykool@xxxxxxxxx <mailto:
>> dilzverykool@xxxxxxxxx>
>> >     <mailto:dilzverykool@xxxxxxxxx <mailto:dilzverykool@xxxxxxxxx>>>>
>> wrote:
>> >     >>>>>     >
>> >     >>>>>     >     Hi,
>> >     >>>>>     >          Please accept my apology for the delay from my
>> side. I can give
>> >     you few results
>> >     >>>>>     >     in maximum one week's time. I am able to make an
>> exact replica of
>> >     KiCAD window
>> >     >>>>>     that we
>> >     >>>>>     >     have right now. I was carried away and wanted the
>> GUI to look pretty
>> >     innovative.
>> >     >>>>>     I was
>> >     >>>>>     >     looking into the feasibility of an idea. The idea
>> comes from a member who
>> >     >>>>>     proposed it
>> >     >>>>>     >     to have a game like GUI. I was thinking if right
>> click would give list
>> >     of options
>> >     >>>>>     >     surrounding it in circle. I think I will have to
>> wait a little more to get
>> >     >>>>>     expertise.
>> >     >>>>>     >
>> >     >>>>>     >     I was shying away from showing my work. Apparently
>> I will start
>> >     uploading on the
>> >     >>>>>     >     branch by evening 6PM IST(Indian Standard Time)
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >     On Tue, Apr 1, 2014 at 2:27 AM, Jean-Samuel Reynaud
>> >     <js.reynaud@xxxxxxxxx <mailto:js.reynaud@xxxxxxxxx>
>> >     >>>>>     <mailto:js.reynaud@xxxxxxxxx <mailto:js.reynaud@xxxxxxxxx
>> >>
>> >     >>>>>     >     <mailto:js.reynaud@xxxxxxxxx <mailto:
>> js.reynaud@xxxxxxxxx>
>> >     <mailto:js.reynaud@xxxxxxxxx <mailto:js.reynaud@xxxxxxxxx>>>>
>> wrote:
>> >     >>>>>     >
>> >     >>>>>     >         Ok I'm starting to work to meet window 1).
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >         2014-03-31 17:01 GMT+02:00 Dick Hollenbeck <
>> dick@xxxxxxxxxxx
>> >     <mailto:dick@xxxxxxxxxxx>
>> >     >>>>>     <mailto:dick@xxxxxxxxxxx <mailto:dick@xxxxxxxxxxx>>
>> >     >>>>>     >         <mailto:dick@xxxxxxxxxxx <mailto:
>> dick@xxxxxxxxxxx>
>> >     <mailto:dick@xxxxxxxxxxx <mailto:dick@xxxxxxxxxxx>>>>:
>> >     >>>>>     >
>> >     >>>>>     >             On 03/24/2014 10:19 AM, Jean-Samuel Reynaud
>> wrote:
>> >     >>>>>     >             > Hi,
>> >     >>>>>     >             >
>> >     >>>>>     >             > I can help too on this project. Tell me
>> if you need more help.
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> https://code.launchpad.net/~kicad-developers/kicad/prj-mgr
>> >     >>>>>     >
>> >     >>>>>     >             is still empty, so therefore I need help.
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >             There are two windows of opportunity here,
>> with a middle
>> >     section where the
>> >     >>>>>     >             window is not open:
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >             1) Now, before I get to milestone C)
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >             2) Me doing milestone C), where collisions
>> of effort are so
>> >     likely its most
>> >     >>>>>     >             sensible to
>> >     >>>>>     >             consider python contributions in this time
>> un-helpful.  Plus I
>> >     don't
>> >     >>>>>     know what
>> >     >>>>>     >             I'll have
>> >     >>>>>     >             to work with at this point.  And I won't be
>> waiting for it.
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >             3) After the C++ layer and framework are in
>> place, then
>> >     collisions of effort
>> >     >>>>>     >             will not
>> >     >>>>>     >             concern me, the python project manager can
>> and should be
>> >     expanded into a
>> >     >>>>>     number of
>> >     >>>>>     >             directions, and I don't expect to play a
>> role in that.
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >             I want to be clear about these two windows
>> of opportunity, 1)
>> >     & 3), and the
>> >     >>>>>     >             approximate
>> >     >>>>>     >             timing, at least the sequencing.
>> >     >>>>>     >
>> >     >>>>>     >             The contributions that I would value most
>> are in the window
>> >     described by 1).
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >         _______________________________________________
>> >     >>>>>     >         Mailing list:
>> https://launchpad.net/~kicad-developers
>> >     >>>>>     >         Post to    :
>> kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     >>>>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>> >     >>>>>     >         <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     >>>>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
>> >     >>>>>     >         Unsubscribe:
>> https://launchpad.net/~kicad-developers
>> >     >>>>>     >         More help  :
>> https://help.launchpad.net/ListHelp
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     >
>> >     >>>>>     > --
>> >     >>>>>     > Dileep Kumar
>> >     >>>>>     > M.Tech(VLSI Design)
>> >     >>>>>     > Mob:9891455965
>> >     >>>>>
>> >     >>>>>
>> >     >>>>
>> >     >>>> _______________________________________________
>> >     >>>> Mailing list: https://launchpad.net/~kicad-developers
>> >     >>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     >>>> Unsubscribe : https://launchpad.net/~kicad-developers
>> >     >>>> More help   : https://help.launchpad.net/ListHelp
>> >     >>>>
>> >     >>>
>> >     >>> _______________________________________________
>> >     >>> Mailing list: https://launchpad.net/~kicad-developers
>> >     >>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     >>> Unsubscribe : https://launchpad.net/~kicad-developers
>> >     >>> More help   : https://help.launchpad.net/ListHelp
>> >     >>>
>> >     >>
>> >     >> _______________________________________________
>> >     >> Mailing list: https://launchpad.net/~kicad-developers
>> >     >> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     >> Unsubscribe : https://launchpad.net/~kicad-developers
>> >     >> More help   : https://help.launchpad.net/ListHelp
>> >     >
>> >     >
>> >     >
>> >     > _______________________________________________
>> >     > Mailing list: https://launchpad.net/~kicad-developers
>> >     > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     > Unsubscribe : https://launchpad.net/~kicad-developers
>> >     > More help   : https://help.launchpad.net/ListHelp
>> >     >
>> >
>> >
>> >     _______________________________________________
>> >     Mailing list: https://launchpad.net/~kicad-developers
>> >     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >     Unsubscribe : https://launchpad.net/~kicad-developers
>> >     More help   : https://help.launchpad.net/ListHelp
>> >
>> >
>>
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>


-- 
Dileep Kumar
M.Tech(VLSI Design)
Mob:9891455965

Attachment: extendingPieMenu.gif
Description: GIF image

Attachment: HzyuJ.jpg
Description: JPEG image


References