X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-TCPREMOTEIP: 63.119.35.194 X-Authenticated-UID: jpd AT noqsi DOT com Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: [geda-user] Improved Find From: John Doty In-Reply-To: <5E2BB4CD-4E81-45DE-80E0-5CAFE9D85ECC@sbcglobal.net> Date: Sun, 2 Aug 2015 19:05:53 -0400 Message-Id: <9F30FD57-7EF2-4FD9-9E4F-A63821DFB95E@noqsi.com> References: <5329D15C-0713-4919-8205-AC474BAC5652 AT noqsi DOT com> <631C0577-E61D-40BC-B200-96BA897092E6 AT sbcglobal DOT net> <5E2BB4CD-4E81-45DE-80E0-5CAFE9D85ECC AT sbcglobal DOT net> To: geda-user AT delorie DOT com X-Mailer: Apple Mail (2.1878.6) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t72N63oZ005308 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Aug 2, 2015, at 5:10 PM, Edward Hennessy (ehennes AT sbcglobal DOT net) [via geda-user AT delorie DOT com] wrote: > >> On Aug 2, 2015, at 10:12 AM, John Doty wrote: >> >> Perhaps I’m misunderstanding, but it appears that you are assuming that the pages open in gschem represent some sort of coherent, organized design. In real life, they don’t: the coherence eventually emerges from what you’re doing with the pages, but it’s not necessarily present in the set of pages you have open. > > I've only used flat for schematic designs, but it is becoming apparent: > > - The page manager can only make a best guess to the hierarchy of a design. If a page isn’t loaded, it won’t show the complete story. Or if pages from multiple designs are loaded, the story gets muddy, especially when the pages don’t all use the same configuration file. > > - A schematic can have multiple parents, Who’s the “parent” of /usr/include/stdint.h? Many, many C source files, including other header files, include it. Symbols and schematic files in gEDA are like source files for a program. > but gschem doesn’t have the functionality to track more than one parent. And this variable only stores the most recent “up.” > > It seems to me: > > - That the page manager shouldn’t try and track the hierarchy. It should have a flat list of all the pages that are loaded. If hierarchy is tracked, it should be done somewhere outside gschem. It’s handy to be able to go down and up. Knowledge of hierarchy is local in gschem, and that’s fine. There’s no guarantee that there’s a consistent, finite global hierarchy for gschem to use. It’s perfectly possible to hang gnetlist up traversing recursive hierarchy, but gschem shouldn’t fall into this trap. If you accidentally make a recursive hierarchy, you need a tool that can repair the mistake! Gschem is safe because it doesn’t explore the whole hierarchy: it only moves locally as you tell it. Locality is pragmatic. > > - The page manager could possibly show one level more, but just the dependent filenames. > > - The push schematic menu item should expand into a list of all the source files that could be descended into for that symbol. Right now, it opens the whole module, all of the schematics mentioned in source= attributes. You can then move among them with > and <. That’s handy, too. One current design of mine has eight pages in one of the modules, and I certainly don’t remember the details of which functions are on what page! > > - The “up” should not be stored in the schematic page data structure. It is associated with the view and stored as a stack. The view would push and pop pages on the stack as the user pushes symbols/schematics. That would not be a disaster, but I sometimes use the page manager to navigate the portion of hierarchy that’s open. > > Ideas? > > Ed > John Doty Noqsi Aerospace, Ltd. http://www.noqsi.com/ jpd AT noqsi DOT com