kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #12891
Re: writing a new top level wxPython based project manager
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
>
>
Follow ups
References
-
writing a new top level wxPython based project manager
From: dileep kushwaha, 2014-03-12
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-03-13
-
Re: writing a new top level wxPython based project manager
From: dileep kushwaha, 2014-03-24
-
Re: writing a new top level wxPython based project manager
From: dileep kushwaha, 2014-03-24
-
Re: writing a new top level wxPython based project manager
From: Brian Sidebotham, 2014-03-24
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-03-24
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-03-24
-
Re: writing a new top level wxPython based project manager
From: Jean-Samuel Reynaud, 2014-03-24
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-03-31
-
Re: writing a new top level wxPython based project manager
From: Jean-Samuel Reynaud, 2014-03-31
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-04-01
-
Re: writing a new top level wxPython based project manager
From: Jean-Samuel Reynaud, 2014-04-02
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-04-02
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-04-02
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-04-02
-
Re: writing a new top level wxPython based project manager
From: Jean-Samuel Reynaud, 2014-04-03
-
Re: writing a new top level wxPython based project manager
From: Dick Hollenbeck, 2014-04-04
-
Re: writing a new top level wxPython based project manager
From: Carl Poirier, 2014-04-04