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 <d...@softplc.com >>>>> <mailto:d...@softplc.com>>: >>>>> >>>>> >>>>> 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 >>>>> <dilzveryk...@gmail.com >>>>> <mailto:dilzveryk...@gmail.com> >>>>> > <mailto:dilzveryk...@gmail.com <mailto:dilzveryk...@gmail.com>>> >>>>> 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.reyn...@gmail.com >>>>> <mailto:js.reyn...@gmail.com> >>>>> > <mailto:js.reyn...@gmail.com <mailto:js.reyn...@gmail.com>>> >>>>> wrote: >>>>> > >>>>> > Ok I'm starting to work to meet window 1). >>>>> > >>>>> > >>>>> > 2014-03-31 17:01 GMT+02:00 Dick Hollenbeck <d...@softplc.com >>>>> <mailto:d...@softplc.com> >>>>> > <mailto:d...@softplc.com <mailto:d...@softplc.com>>>: >>>>> > >>>>> > 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@lists.launchpad.net >>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>> > <mailto:kicad-developers@lists.launchpad.net >>>>> <mailto:kicad-developers@lists.launchpad.net>> >>>>> > 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@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>> More help : https://help.launchpad.net/ListHelp >>>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~kicad-developers >>> Post to : kicad-developers@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~kicad-developers >>> More help : https://help.launchpad.net/ListHelp >>> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp > > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp