[Dev] more parcel stuff (while i'm thinking about it)
Geoff Gerrietts
geoff at gerrietts.net
Mon Oct 20 10:33:48 PDT 2003
Last night I more or less got the hyperlinks in the repositoryviewer
integrated into the URL navigation scheme. I have a couple things left
over from that which may or may not bear discussion.
- "URLs" don't really conform to what I think of as the URL standard.
That doesn't cause any significant functionality issues, yet, but it
does create a sort of cognitive disconnect for users. It could also
make integration with "real" URLs "interesting", across some range
of not very amusing values for "interesting".
- The sidebar currently expects to match the entirety of the URL to
one of the labels in its list. It does a nice job of handling
embedded slashes to represent hierarchy. But, it doesn't allow for a
parcel like RepositoryViewer, where you don't want all possible URL
values in the sidebar. I would suggest maybe the ChandlerWindow ask
the individual parcels what pieces of the URL to match against. For
example, in ChandlerWindow.py, @line 495:
if parcel == None:
return false
self.isRemote = remoteaddress != None
urlstub = parcel.sidebarLabel(remoteaddress, localurl)
self.sideBar.model.SelectURL(urlstub)
if doAddToHistory:
self.navigationBar.model.AddURLToHistory(url)
self.navigationBar.model.SynchronizeView()
return parcel.GoToURL(remoteaddress, localurl)
This may violate the current model of responsibilities: maybe the
parcel isn't actually /supposed/ to be in control of its
representation in the SideBar? But it's a suggestion; right now
the SideBar doesn't update quite as we might wish.
Changing the first item would be a lot of work, I think, but it's
probably do-able. Changing the second item isn't so much work, but
it's "sweeping" insofar as it gives every Parcel opportunity to
override the URL-matching behavior.
Thanks,
--G.
--
Geoff Gerrietts <geoff at gerrietts dot net>
"Ordinarily he was insane, but he had lucid moments
when he was merely stupid." --Heinrich Heine
More information about the Dev
mailing list