(name 'OmniBrowser-cwp.176' message 'Implemented a method inheritance browser, and an action for opening it on a given method.' id 'edb55675-763d-11d8-860b-000a95702430' date '15 March 2004' time '12:02:16 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.175' message 'Instance variables now appear in the ''chase variables'' browser in alphabetical order.' id '029da63e-761a-11d8-860b-000a95702430' date '15 March 2004' time '7:45:09 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.174' message 'Added support for class variables to the ''chase variables'' browser.' id 'b6471477-7619-11d8-860b-000a95702430' date '15 March 2004' time '7:43:01 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.173' message 'Bugfix: Contexts no longer raise errors if a node tries to retreive the source code or messages sent by a non-existent method.' id '7e709376-7608-11d8-860b-000a95702430' date '14 March 2004' time '5:39:46 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.172' message 'Bugfix: deleting the root node of a browser no longer causes a walkback. The affected browser just shows empty panes.' id 'c8677288-7606-11d8-860b-000a95702430' date '14 March 2004' time '5:27:31 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.171' message 'Bugfix: When examining a block, OBProtocolMock will now answer the message recorder if no answer to a message has been specified, rather than its self.' id 'fb8072d4-75f7-11d8-860b-000a95702430' date '14 March 2004' time '3:41:34 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.170' message 'Bugfix: Refreshing a browser with an edit in progress no longer causes the changes to be discarded.' id '0b4708d4-75f6-11d8-860b-000a95702430' date '14 March 2004' time '3:27:41 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.169' message 'Bugfix: The ''chase senders'' and ''chase implementors'' metagraphs were incorrectly sending #senders to message nodes. Now they send #sendersOfMessage, which is the correct behaviour.' id '35774238-75f2-11d8-860b-000a95702430' date '14 March 2004' time '3:00:14 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.168' message 'Improved the test environment for browsers. When examining the contents of PluggableListMorphs, we only trigger refreshes when simulating user actions, so that we can catch bugs caused by the PLM not acurrately reflecting the contents of the column.

OBColumn>>refresh now always calls self changed: #list, since the before and after list comparison won''t catch items that have been renamed. 

OBTextPanel>>accept:notifying: now properly resumes any notifications it catches.

OBImageContext and OBPackageContext now properly sort the results of #methodsForClass.' id '4b5bfc70-75ee-11d8-860b-000a95702430' date '14 March 2004' time '2:32:13 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.167' message 'Implemented a versions browser.' id 'dfee4da4-7576-11d8-ad48-000a95702430' date '14 March 2004' time '12:17:23 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.166' message 'Moved the fake sources and changes files to OBMethodVersionTest and removed OBFakeSourceFileArray.' id 'a6140236-7562-11d8-ad48-000a95702430' date '13 March 2004' time '9:52:36 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.165' message 'Got rid of the essentially useless class OBChangeLog. It''s functionality is now in OBMethodVersion.' id '8a15e9ba-752b-11d8-89e9-000a95702430' date '13 March 2004' time '3:18:06 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.164' message 'Implemented scanning the source files for method versions. This is a first step toward a VersionsBrowser.' id 'ce92fdf7-7521-11d8-89e9-000a95702430' date '13 March 2004' time '2:08:26 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.163' message 'Bug fix: OBButtonPanel>>nodeChanged now calls #morph instead of accessing the ivar directly, since opening a browser on a particular node involves selecting nodes before the browser is open and therefore before the morphs have been created, leading to a walkback.' id '2500c665-73b9-11d8-9ca8-000a95702430' date '11 March 2004' time '7:06:43 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.162' message 'Bugfix: Buttons now use the standardButtonFont set in Preferences. Updated the tests to cope with the fact that button lables are now morphs rather than strings.' id 'b9b0577c-7311-11d8-81fe-000a95702430' date '11 March 2004' time '11:08:17 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.161' message 'Renamed OBAccessBrowser to OBAccessBrowserTest. (How did that get left off?)' id 'd5405063-730e-11d8-81fe-000a95702430' date '11 March 2004' time '10:47:35 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.160' message 'AccessBrowser improvements:

Improved the test cases: the fakes no longer use #first, which is way too common a selector.

Fixed a bug that caused the senders chain to loop.

Made the ''chase ivars'' action available to method category and method nodes as well as class nodes.
' id '306f3ca1-730e-11d8-81fe-000a95702430' date '11 March 2004' time '10:42:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.159' message 'Node refactoring: OBMessageNode is now a subclass of OBMethodNode, and OBSelectorNode has been removed.' id 'dfe1539e-7307-11d8-81fe-000a95702430' date '11 March 2004' time '9:57:46 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.158' message 'Implemented a browser for chasing instance variables.' id '0be5dd84-72f8-11d8-81fe-000a95702430' date '10 March 2004' time '8:04:28 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.157' message 'Merged in Avi''s refactoring of column to make the currently selected node more abstract. ' id '1ccc786a-72e8-11d8-81fe-000a95702430' date '10 March 2004' time '6:10:24 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.156' message 'Added actions for opening a standard system browser. ' id '004a2118-725c-11d8-907b-000a95702430' date '10 March 2004' time '1:27:27 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.155' message 'Implemented OBButtonPanel, which creates buttons based on the available actions.' id '0d74a3e3-7253-11d8-907b-000a95702430' date '10 March 2004' time '12:23:24 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.154' message 'Reorganized panel classes, and fixed a bug in laying out fixed-height panels.' id '446d5b1d-7187-11d8-8f18-000a95702430' date '9 March 2004' time '12:04:38 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.153' message 'Refactor the window-building code in OBBrowser to be able to handle an arbitrary list of panels. This is the first step towards adding annotations and optionalButtons panes.' id '27dc0646-717b-11d8-8f18-000a95702430' date '9 March 2004' time '10:37:57 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.152' message 'All code nodes now descend from OBCodeNode.' id '95a88002-70b7-11d8-ac21-000a95702430' date '8 March 2004' time '11:17:59 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.151' message 'Added labels to the metagraphs for code browsers.' id '2c58f7ba-70ab-11d8-ac21-000a95702430' date '7 March 2004' time '9:49:09 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.150' message 'Added a ''name'' iVar to OBMetaNode, for more intelligible browsing of metagraphs.' id 'ead86822-6fef-11d8-925f-000a95702430' date '7 March 2004' time '11:28:43 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.149' message 'Added class comments and classified some unclassified methods.' id '329e01c4-6ee2-11d8-aa8b-000a95702430' date '5 March 2004' time '3:17:59 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.148' message 'Merged in Avi''s refactoring of column creation to allow column polymorphism.' id 'bf38559a-6ec0-11d8-b34e-000a95702430' date '5 March 2004' time '11:18:32 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.147' message 'Commented the kernel classes.' id 'aad1768a-6ebf-11d8-b34e-000a95702430' date '5 March 2004' time '11:10:49 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.146' message 'Reordered the actions for method nodes so that the more frequently used items (I hope) are at the top of the list.' id 'e58bb870-6db0-11d8-a56a-000a95702430' date '4 March 2004' time '2:52:34 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.145' message 'Rewote the remove-method action to check for senders before removing the method, the same way the standard browser does.' id '6d5ac18f-6db0-11d8-a56a-000a95702430' date '4 March 2004' time '2:49:12 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.144' message 'Refactored OBChoiceRequest to be able to handle choices other than selectors.' id 'ff7eaed8-6daa-11d8-a56a-000a95702430' date '4 March 2004' time '2:10:20 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.143' message 'Minor fix: OBMethodCategoryActionTest>>testCompileScaryMethod no longer actually compiles the method, and thus doesn''t make the package dirty.' id 'e8c69a64-6da7-11d8-a56a-000a95702430' date '4 March 2004' time '1:48:13 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.142' message 'Added a sanity check for overriding a method of the Metaclass protocol.' id 'ec18004e-6da5-11d8-a56a-000a95702430' date '4 March 2004' time '1:34 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.141' message 'Various small fixes to make working with code browsers more convenient:

- OBBrowser>>initialize adds items to the ''open...'' menu for opening the standard browsers.

- Added a ''browse'' action to OBPanelNode that opens a package browser on that package.

- Fixed a few ancestry bugs.

- Class categories identical to the package name are now supported by the extensions to PackageInfo and OBClassCategoryNode.' id 'ec94624d-6d9c-11d8-a56a-000a95702430' date '4 March 2004' time '12:29:35 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.140' message 'When a method is dropped on a method category, it no longer selects its self, but signals OBListChanged instead. This makes categorizing ''as yet uncategorized'' methods much more pleasant.' id '398c1672-6ce6-11d8-b421-000a95702430' date '3 March 2004' time '2:41:47 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.139' message 'Refactored #isAncestorOf: to use double dispatch. Simple cases can still override #isAncestorOf:, which is done in the file system nodes, but domains with more complex ancestry can now be made more robust, as is the the case for the code nodes. 

Dragging between #Image and #System browsers works now. ' id '66ec6244-6ce4-11d8-b421-000a95702430' date '3 March 2004' time '2:28:44 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.138' message 'Simplification of the metagraph. Since nodes now remember their metanodes, it''s no longer necessary to search for them using #childFor: and supporting methods. Also, #nodesForParent: is simpler, because it only gets called on the appropriate metanode, not all of them.' id 'f5023024-6cd3-11d8-b421-000a95702430' date '3 March 2004' time '12:31:01 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.137' message 'Started refactoring of the metagraph. This commit removes the ''nodeClass'' instance variable from OBMetaNode. The code that relied on this has been updated to cope:

Only unary selectors are allowed in the metagraph. The only user of 1-argument selectors was the metagraph metagraph, which sent the #fromAssociation: constructor to the node class. Now it sends #children to the OBAssociationNode, which sends #asNode to its value.

OBNodeActors used the node class of their metanode to gather class-side actions. Now they must be explicitly supplied with a node class to enable class-side actions.

OBNode now has an instance variable ''metaNode,'' which refers to the metaNode which created it, since we can no longer check to see if it''s a member of the metanode''s nodeClass.' id 'aae5eac0-6cce-11d8-b421-000a95702430' date '3 March 2004' time '11:53:09 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.136' message 'Factored the double dispatch scheme used for node drag and drop into OBNode. Now node classes only have to implement #dropSelector to receive drops, and a #dropOnFoo: method to be dropped.' id 'eb9dfc48-6cbd-11d8-b421-000a95702430' date '2 March 2004' time '9:53:16 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.135' message 'Respect font preferences:

- OBTextPanel uses the standard code font

- OBButtonModel uses the standard button font' id '05865b2f-6cba-11d8-b421-000a95702430' date '2 March 2004' time '9:25:21 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.134' message 'Cleaned up tests to be less fragile with regard to environments:

- OBRadioButtonBarTest>>testLayout was dependent on the font used for buttons. Now it explicitly tests that the left and right edges of adjacent buttons match, without worrying about where they are.

- OBImageContextTest>>initialize now creates an extension method on OBFakeClassA, since the test needs to test that even extension methods are found by the context.

- OBContextTest now avoids creating a new method category in OBFakeClassA.' id '79a84981-6cb6-11d8-b421-000a95702430' date '2 March 2004' time '8:59:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.133' message 'Browsers will now refresh only if they are actually visible in some World.This is to prevent errors from invisible, but not yet garbage collected browsers.' id 'ea4268d4-6bdf-11d8-8cb7-000a95702430' date '1 March 2004' time '7:24:05 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.132' message 'Added OBNotifier, a client of SystemChangeNotifier, which refreshes all browsers when the system changes. ' id 'b6c1aac8-6b44-11d8-aa50-000a95702430' date '1 March 2004' time '12:53:07 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.131' message 'Refactored OBMessageNode to parse the sending method lazily.' id 'cf408e58-6b2c-11d8-aa50-000a95702430' date '29 February 2004' time '10:02 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.130' message 'Columns now take advantage of the LargeLists optimization in PluggableListMorph. The chasing browsers particularly benefit, since they often have very large lists.' id 'ee9e927c-6b2b-11d8-aa50-000a95702430' date '29 February 2004' time '9:55:43 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.129' message 'Improved selection handling in OBMessageNode. Now we actually parse the sending method source to determine how to select the message.' id '31612d5e-6b2a-11d8-aa50-000a95702430' date '29 February 2004' time '9:43:16 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.128' message 'Implemented Avi''s suggestion for having the chasing browsers put messages in their context better. The new OBMessageNode represents a message send within a method, rather than just a selector. It displays the method''s source in the text pane, and selects the selector of the message send. ' id 'a4eae9f8-6b1a-11d8-aa50-000a95702430' date '1 March 2004' time '7:51:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.127' message 'Nodes can now supply a selection interval as well as text.' id 'fd25ab60-6b0f-11d8-aa50-000a95702430' date '29 February 2004' time '6:35:42 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.126' message 'Moved method category alphabetizing action to the class side, so it''s available even when no category is selected.' id '1f7b4d84-6b0e-11d8-aa50-000a95702430' date '29 February 2004' time '6:22:20 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.125' message 'Added an action for alphabetizing method categories.' id 'b1272706-6b0c-11d8-aa50-000a95702430' date '29 February 2004' time '6:12:06 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.124' message 'Categorized some methods.' id '2ea8f31a-6b0a-11d8-aa50-000a95702430' date '29 February 2004' time '5:54:08 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.123' message 'Rewrote the tests for OBSelectorNode using a protocol mock.' id '36426b40-6afb-11d8-aa50-000a95702430' date '29 February 2004' time '4:06:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.122' message 'Bugfix: OBModalFilter wasn''t updating its buttons when jumping to a node from a meta-node other than the first.' id 'c3899c6d-6aee-11d8-8653-000a95702430' date '29 February 2004' time '2:37:52 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.121' message 'Bugfix: creating a metaclass categegory didn''t work - the category would be added to the class instead.' id 'bb4740d8-6aeb-11d8-8653-000a95702430' date '29 February 2004' time '2:16:09 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.120' message 'Bugfix: the return values in the #accept:notifying callchain weren''t being passed back properly, so the text pane would still be dirty after an accept, even if the accept was successful.' id 'f6fdd789-6ae8-11d8-8653-000a95702430' date '29 February 2004' time '1:56:21 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.119' message 'Bugfix: OBImageContext now records timestamps correctly when changing class comments.' id 'e3ce42bb-6ae6-11d8-8653-000a95702430' date '29 February 2004' time '1:41:30 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.118' message 'Overrode #acceptsLoggingOfCompilation in the fake classes to minimize pollution of the changes file during testing.' id '69c42e71-6ae4-11d8-8653-000a95702430' date '29 February 2004' time '1:23:46 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.117' message 'Added OBSilentTestCase, which uses suppresses system change notifications during the test run. This prevents pollution of the current change set by the tests, and hopefully one day the changes file as well, although it''s not currently a client of SystemChangeNotifier.' id 'cc095fbe-6ade-11d8-8653-000a95702430' date '29 February 2004' time '12:43:34 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.116' message 'Added context tests for #allImplementorsOf: and #allSendersOf: and made them pass. As a result, package browsers will now only show senders/implementors within the package. ' id '2e8635b8-6a75-11d8-a34c-000a95702430' date '29 February 2004' time '12:07:33 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.115' message 'Added support for classifying methods via drag and drop.' id 'b7e58046-6a6d-11d8-a34c-000a95702430' date '29 February 2004' time '11:14:07 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.114' message 'Rewrote message category action tests using a protocol mock.' id '663306aa-6a6a-11d8-a34c-000a95702430' date '29 February 2004' time '10:50:22 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.113' message 'Refactored class category action tests to use a protocol mock. ' id '9dd8f762-6a66-11d8-a34c-000a95702430' date '28 February 2004' time '10:23:17 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.112' message 'Refactored node action tests to use a protocol mock instead of messing with the image directly.' id '6a6f1cd6-6a40-11d8-864e-000a95702430' date '28 February 2004' time '5:49:50 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.111' message 'We now confirm with the user before abandoning unaccepted edits.' id '9d7d9328-6a23-11d8-864e-000a95702430' date '28 February 2004' time '2:23:40 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.110' message 'Bugfix: OBColumn>>nodeDeleted wasn''t updating the list correctly.' id 'd4406028-6a1c-11d8-864e-000a95702430' date '28 February 2004' time '1:35:06 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.109' message 'Added a sanity check for deleting classes.' id 'a8ac0fae-6a1a-11d8-864e-000a95702430' date '28 February 2004' time '1:19:33 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.108' message 'Added sanity check to prevent accidental renaming of classes.' id '009e5668-6a17-11d8-864e-000a95702430' date '28 February 2004' time '12:53:23 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.107' message 'Editing code now works more the way one would expect, with correct handling of syntax errors, prompting for undeclared temps etc. No tests for this though, as I don''t really grok the way it works. ' id 'a2c5cd1c-6994-11d8-9ecd-000a95702430' date '27 February 2004' time '9:20:11 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.106' message 'Make method selectors bold.' id 'cd190a24-6982-11d8-ab92-000a95702430' date '27 February 2004' time '7:12:31 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.105' message 'Factored management of the text pane out of OBBrowser. It''s now handled by OBTextPanel.' id '676d9b6c-68e9-11d8-9e60-000a95702430' date '27 February 2004' time '12:54:27 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.104' message 'Removed the use of #idealWith extensions to various morph classes. They no longer had any impact on the pane layout.' id '093c2d17-68dc-11d8-9e60-000a95702430' date '26 February 2004' time '11:18:46 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.103' message 'Fixed a subtle bug related to modal filters.

Consider the two use cases for OBModalFilter. In the instance/class case, the list in that column will be of either classes or their corresponding metaclasses. Either way, the names displayed in the column will be the same. So when switching between classes and metaclasses we want the selection to be unaffected, since since the corresponding nodes are related.

Another use of OBModalFilter is senders/implementors in the chasing browsers. In this case, the senders and implementors of a given message do *not* correspond to each other, and so the selection should be cleared when switching back and forth. This is especially a problem if the new list is shorter than the old one, and potentially too short to include the old selection.

With this fix, the column compares the new list to the old and clears the selection only if the names of the nodes do not match. 

' id '08fa238f-68da-11d8-9e60-000a95702430' date '26 February 2004' time '11:04:27 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.102' message 'Fix a testing bug introduced by the last commit.' id '3304dc6b-68cb-11d8-9e60-000a95702430' date '26 February 2004' time '9:18:15 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.101' message 'Cleaned up the browser instance creation protocol.' id '2e4f1746-68ca-11d8-9e60-000a95702430' date '26 February 2004' time '9:10:57 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.100' message 'Minor refactoring: applied ExtractMethod wherever OBNodeSelected was used; now they call OBNode>>signalSelection.' id '98445ed6-680e-11d8-8910-000a95702430' date '25 February 2004' time '10:48:10 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.99' message 'Merged in Avi''s drag and drop work, making the following changes:

Added a test: OBFakeBrowserTest>>testDragAndDrop.

Updated to work in 3.7a. This will almost certainly break compatibility with 3.6, as the inclusion of LargeLists in 3.7 signficantly changed the way PluggableListMorphs work.

Wrapped the handling of drops in a notification handler so we can use OBNodeSelected and friends.

OBClassCategoryNode now handles dropped classes through its context, and signals OBNodeSelected.

' id 'f77ba9bc-680c-11d8-8910-000a95702430' date '25 February 2004' time '10:36:30 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.98' message 'A couple of cosmetic changes:

Filter buttons are a bit darker now to make them easier to see.

Fixed an off-by-one error in the pane layout code.' id '375f06d2-67fb-11d8-8910-000a95702430' date '25 February 2004' time '8:29:27 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.97' message 'Added comment support to the code browsers.' id 'dc1e05b0-675e-11d8-9b3d-000a95702430' date '25 February 2004' time '1:50:12 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.96' message 'OBModalFilter now uses a radio button bar rather than a single button. ' id '1dc95672-6758-11d8-9b3d-000a95702430' date '25 February 2004' time '1:01:56 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.95' message 'OBColumn now sets autoDeslect to false when creating PLMs.' id '71a9e4ca-657c-11d8-924b-000a95702430' date '22 February 2004' time '4:16:56 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.94' message 'Minor refactoring of the chasing browsers. OBMethodNode>>messages now doesn''t include the selector of the method its self, that''s provided in #selectorAndMessages.' id '9f78d0ce-63f3-11d8-884b-000a95702430' date '20 February 2004' time '5:25:01 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.93' message 'Fixed bugs in the pane layout algorithm. The available space is evenly divided between the panes, up to maximum number of panes defined by OBPaneScroller>>sizing. Beyond that, panes are sized as if there were that number of panes. ' id 'c78ed86f-61a6-11d8-ae8a-000a95702430' date '17 February 2004' time '7:09:54 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.92' message 'Added a more explicit error message for missing metagraphs.' id 'ee99c42c-61a0-11d8-a5dd-000a95702430' date '17 February 2004' time '6:28:03 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.91' message 'Created browser resources for use by the browser tests. This results in a 12% speedup of test runs.' id 'd77103ce-60f8-11d8-ab86-000a95702430' date '16 February 2004' time '10:24:49 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.90' message 'Added an ''-- all --'' method category.' id '1197b493-60ef-11d8-ab86-000a95702430' date '16 February 2004' time '9:14:51 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.89' message 'Rewrote the tests for removing and renaming classes using a protocol mock.' id '2b8a7b4d-5df6-11d8-aff1-000a95702430' date '13 February 2004' time '2:28:08 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.88' message 'Created OBProtocolMock for testing actions.' id 'a11502d4-5df0-11d8-aff1-000a95702430' date '13 February 2004' time '1:48:28 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.87' message 'Minor clean up of the code context protocol.' id '40df497b-5de2-11d8-aff1-000a95702430' date '13 February 2004' time '12:05:33 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.86' message 'Tweaked OBCodeBrowserTest>>tearDown so as not to pollute the Transcript.' id 'a5293ce0-5de1-11d8-aff1-000a95702430' date '13 February 2004' time '12:01:12 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.85' message 'Fixed pane layout to use equal pane widths, which are determined by the minimum number of panes specified to the browser.' id '81dead34-5dc7-11d8-aff1-000a95702430' date '12 February 2004' time '8:54:06 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.84' message 'Morphs no longer get regenerated everytime the display changes.

This involved the creation of OBPane and quite a few changes to OBBrowser and OBColumn.' id '9ab7e9c2-5dbf-11d8-aff1-000a95702430' date '12 February 2004' time '7:57:32 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.83' message 'Bugfix: metaclass nodes were showing the definition of Metaclass instead of the definition of the metaclass its self. 

Also removed a superfluous call to OBColumn>>refresh, for a miner speed up of OBBrowser>>jumpTo:.' id '7a80aa12-5b8a-11d8-97f3-000a95702430' date '10 February 2004' time '12:32:12 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.82' message 'Updated senders and implementors actions:

Implemented traditional behaviour for ''browse senders'' and ''browse implementors''.

Moved the experimental versions to ''chase senders'' and ''chase implementors'' menu items.

Improved the experimental versions to use modal filters. The buttons now serve as labels for the columns, and it''s easy to switch back and forth between senders and implementors.
' id '20f9a3f8-5b84-11d8-97f3-000a95702430' date '9 February 2004' time '11:46:45 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.81' message 'Replaced OBModalMetaNode with OBModalFilter. 

OBModalMetaNode had a fundamental problem: it had a single global mode for all browsers. ' id '5eba1f68-5b79-11d8-97f3-000a95702430' date '9 February 2004' time '10:29:44 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.80' message 'Nodes now delegate fetching class objects to the context. Also, added a new assertion to OBContextTest>>testCategoryOf: to make sure that looking up categories of metaclasses works.' id 'ebc9eb4a-5b66-11d8-97f3-000a95702430' date '9 February 2004' time '8:17:40 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.79' message 'Editing class-side methods works now. ' id 'e427a800-5b65-11d8-97f3-000a95702430' date '9 February 2004' time '8:10:18 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.78' message 'Update tests to account for the fact that we use OBNakeMethodNode, and #messages includes the reciever itself.' id '0fa228fb-5a6e-11d8-b549-000a95702430' date '8 February 2004' time '2:36:16 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.77' message 'Created actions for browsing senders and implementors of methods. This required adding a couple of meta graphs to OBMetaGraphBuilder and adding OBSelectorNode.

' id 'fc30823a-5a66-11d8-b549-000a95702430' date '8 February 2004' time '1:45:37 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.76' message 'The horizontal scrollbar is now initially hidden, and only appears when necessary.' id '550aab1b-5a52-11d8-b549-000a95702430' date '8 February 2004' time '11:17:46 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.75' message 'Removed some dead code used for the old layout policy in OBPaneScroller.' id '3987971a-5a0e-11d8-9d79-000a95702430' date '8 February 2004' time '3:10:14 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.74' message 'Some layout clean up.

OBScrollerPane>>computeMorphWidths is much more cleanly factored. Layout policy can be controlled through #padWidths:toFit:

Browsers can now have independent minimum pane settings. This is handy for making the minimum pane count match the depth of the meta graph, so we don''t get any creation or deletion of panes.' id 'cd4a8182-5a03-11d8-befa-000a95702430' date '8 February 2004' time '1:55:38 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.73' message 'Bugfix: clicking the class/instance button when no class was selected was causing a walkback.' id 'e2a42155-59eb-11d8-befa-000a95702430' date '7 February 2004' time '11:04:26 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.72' message 'Refactored the meta graph. Edges are now explicitly modeled by OBMetaEdge.' id '5756553c-59ea-11d8-befa-000a95702430' date '7 February 2004' time '10:53:22 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.71' message 'Added a button for switching between instance/class browsing.' id '269f1362-59e7-11d8-befa-000a95702430' date '7 February 2004' time '10:30:32 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.70' message 'Added an action for removing methods.' id '21cc14b1-59cb-11d8-b180-000a95702430' date '7 February 2004' time '7:09:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.69' message 'Bugfix: OBMethodCategoryNode>>create was throwing a bad OBNodeSelected notification.' id '842a962e-59c6-11d8-b180-000a95702430' date '7 February 2004' time '6:36:56 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.68' message 'Major refactoring of the code browsers.

Nodes now refer to classes by name instead of holding a direct reference. The code context protocol has been update to accept symbols as parameters instead of class instances.' id 'bccdf68a-59b8-11d8-b180-000a95702430' date '7 February 2004' time '4:58:18 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.67' message 'We now use an explicit package context instead of just extending PackageInfo.' id '1e076ae8-59a4-11d8-b180-000a95702430' date '7 February 2004' time '2:30:42 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.66' message 'Created context tests.' id '349b419a-5998-11d8-b180-000a95702430' date '7 February 2004' time '1:05:25 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.65' message 'recategorized the methods of OBImageContext' id '513b720f-598a-11d8-b180-000a95702430' date '7 February 2004' time '11:26:01 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.64' message 'Added remove and rename actions for method categories.' id 'bfece24e-5987-11d8-b180-000a95702430' date '7 February 2004' time '11:07:38 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.63' message 'Added an action for creating method categories.' id 'e64eaf2c-5984-11d8-b180-000a95702430' date '7 February 2004' time '10:47:14 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.62' message 'Added an action to remove classes.' id '91896453-5861-11d8-969c-000a95702430' date '6 February 2004' time '12:01:48 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.61' message 'Renamed OBNodeCreated to OBNodeSelected, since that''s what it really means.' id '11f89851-585e-11d8-969c-000a95702430' date '5 February 2004' time '11:36:45 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.60' message 'Two fixes for the class rename action:

First, we throw an OBNodeCreated notification since classes are always displayed in alphabetical order, and the renamed class should remain selected even if it appears in a different place in the list. 

Second, we add an OBNodeActor to class node in the code meta graphs.' id 'b930bb12-585d-11d8-969c-000a95702430' date '5 February 2004' time '11:34:16 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.59' message 'Added an action to rename classes.' id '2827af86-585b-11d8-969c-000a95702430' date '5 February 2004' time '11:15:54 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.58' message 'It''s now possible to write actions that are available when there is no selection in the column. ' id 'bd444b38-5845-11d8-969c-000a95702430' date '5 February 2004' time '8:42:35 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.57' message 'Minor refactoring of actors.' id '9ce211f4-5755-11d8-8c6e-000a95702430' date '4 February 2004' time '4:03:42 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.56' message 'Added a remove action for class categories.

Also moved the actions into the OBClassCategoryNode its self, rather than having a separate actor. This simplifies the code considerably.' id 'f84405e2-56c6-11d8-a3b8-000a95702430' date '3 February 2004' time '11:02:37 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.55' message 'Added a rename action for class categories.' id 'd03ef4ec-55ff-11d8-85c2-000a95702430' date '2 February 2004' time '11:17 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.54' message 'Added an action for creating class categories.' id '210d6e31-55fa-11d8-85c2-000a95702430' date '2 February 2004' time '10:36:19 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.53' message 'Many changes in this version.

Reorganized and fleshed out the tests for code browsing and editing. Now there are tests for browsing packages, the image and the system.

OBBrowser>>jumpTo: now does a proper node equality test, rather than just comparing names.

The file system browser now hides files and directories named with a leading dot.' id '28b3921f-5437-11d8-9e0d-000a95702430' date '31 January 2004' time '4:48:09 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.52' message 'The file system browser now takes advantage of OBBrowser>>jumpTo: to open on the default directory.' id '21de0640-5402-11d8-97c3-000a95702430' date '31 January 2004' time '10:28:34 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.51' message 'Creating a new method by editing an existing method works now.' id '5e520dfa-53fe-11d8-97c3-000a95702430' date '31 January 2004' time '10:01:37 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.50' message 'Creating a method from a template works.' id 'c9aacf3f-53b1-11d8-a9dd-000a95702430' date '31 January 2004' time '12:53:26 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.49' message 'OBClassNodes can now create classes when changes to their declarations are accepted.' id '239acb13-53a7-11d8-a9dd-000a95702430' date '30 January 2004' time '11:37:12 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.48' message 'Small fix: OBNode>>accept:notifying: now calls #text: by default.' id 'fe2c3b3b-53a4-11d8-a9dd-000a95702430' date '30 January 2004' time '11:21:51 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.47' message 'Classes can now be created via the template supplied by OBClassCategoryNode.' id '4b44fc32-52ed-11d8-a014-000a95702430' date '30 January 2004' time '1:26:53 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.46' message 'Added a convenience method for browsing packages.' id 'b11f49ee-52d6-11d8-a014-000a95702430' date '29 January 2004' time '10:45:05 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.45' message 'Merge in Avi''s change to only add columns if the meta node for the selected column has children.' id '5a5cc7ee-5074-11d8-8751-000a95702430' date '26 January 2004' time '9:56:06 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.44' message 'Added an OBFileRegistryActor to make file reader services from FileList available as actions on FileNode.' id '447ce1b8-4e34-11d8-a589-000a95702430' date '24 January 2004' time '1:12:20 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.43' message 'Refactored OBColumn - changed ivar metaNodes to metaNode.

There was no need for the ivar to be a collection, since it always contained only one metanode: the one corresponding to the parent node for the column.' id 'dd2fd842-4e2b-11d8-a589-000a95702430' date '24 January 2004' time '12:12:10 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.42' message 'Made actions configurable via the metagraph.' id '4640ce4f-4e29-11d8-a589-000a95702430' date '23 January 2004' time '11:53:38 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.41' message 'OBFileNodeTest now correctly handles and tests for OBNodeDeleted notifications.' id '7a33a4fb-4e1a-11d8-a589-000a95702430' date '23 January 2004' time '10:07:43 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.40' message 'Actions now use Notifications to update the browser display when a node is deleted by the action.' id '661a56ad-4e18-11d8-a589-000a95702430' date '23 January 2004' time '9:52:50 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.39' message 'Added a delete action for files.' id '3197b52c-4bc3-11d8-9fe0-000a95702430' date '20 January 2004' time '10:37:53 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.38' message 'Actions now correctly notify their monitors after they are triggered.' id 'ae30d3e2-4168-11d8-abeb-000a95702430' date '7 January 2004' time '6:24:46 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.37' message 'Added preliminary support for menus.' id '885fb5bd-413c-11d8-9d55-000a95702430' date '7 January 2004' time '10:08:44 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.36' message 'Renamed ''lens'' method categories ''public''.' id 'e28dfd38-411c-11d8-8759-000a95702430' date '7 January 2004' time '6:22:11 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.35' message 'Renamed OBBrowser class>>graph:node: to #browse:fromRoot:' id '174fbc15-3516-11d8-baab-000a95702430' date '22 December 2003' time '11:03:19 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.34' message 'Added a simple meta-graph browser.' id '95da25e4-31ec-11d8-b134-000a95702430' date '18 December 2003' time '10:28:40 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.33' message 'Added meta-graph registry to Browser.' id '9a3a05b4-31d4-11d8-b134-000a95702430' date '18 December 2003' time '7:36:59 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.32' message 'Added nodes and meta-graphs for browsing the entire system.' id '120be0de-30fe-11d8-b117-000a95702430' date '17 December 2003' time '9:01:19 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.31' message 'Removed lingering #nodes implementations.' id 'a6c71ffa-30f6-11d8-b117-000a95702430' date '17 December 2003' time '8:08:12 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.30' message 'Revised tests and implementation of the code browser.' id '1a10502c-30e9-11d8-bdbc-000a95702430' date '17 December 2003' time '6:31:12 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.29' message 'Refactored MetaNodes for clarity.' id '1c965a1c-30e5-11d8-bdbc-000a95702430' date '17 December 2003' time '6:02:39 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.28' message 'We can now have mixed node types in each column.' id 'e458e9fe-30dd-11d8-bdbc-000a95702430' date '17 December 2003' time '5:10:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.27' message 'Introduced meta-nodes.' id 'bfd30707-2f80-11d8-a87e-000a95702430' date '15 December 2003' time '11:31:42 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.26' message 'Renamed ''lens'' to ''node''. This is a very far-reaching changed.' id '831d131e-2f73-11d8-a87e-000a95702430' date '15 December 2003' time '9:56:57 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.25' message 'Columns can now create morphs with meta browser menus as well as lists.' id 'bd048fe3-2f6d-11d8-a87e-000a95702430' date '15 December 2003' time '9:15:37 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.24' message 'Columns now hold a reference to the browser. This will make filtering easier.' id '6ec328eb-2ea5-11d8-aed9-000a95702430' date '14 December 2003' time '9:21:47 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.23' message 'Refactored OBClassCategoryLens.

PackageInfo is now responsible for removing the prefix on system categories.' id 'ae915148-2ea3-11d8-aed9-000a95702430' date '14 December 2003' time '9:09:14 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.22' message 'Bugfix: MethodCategoryLens filters methods correctly now.' id 'd2572bd8-2c46-11d8-9ef3-000a95702430' date '11 December 2003' time '8:59:29 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.21' message 'Added lenses for browsing a package.' id 'acabe68a-2b98-11d8-b316-000a95702430' date '11 December 2003' time '12:12:53 am' author 'cwp' ancestors ((name 'OmniBrowser-cwp.20' message 'Added support for editing in the text pane. The file browser can now edit files.' id 'deb59865-29f8-11d8-b2cf-000a95702430' date '8 December 2003' time '10:36:27 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.19' message 'The PaneScroller now automatically scrolls to the right after new columns are added.' id 'a564f7c0-29f1-11d8-b2cf-000a95702430' date '8 December 2003' time '9:44:44 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.18' message 'Browsers now have a minimum pane count.' id '517a5ab0-29e6-11d8-b2cf-000a95702430' date '8 December 2003' time '8:23:39 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.17' message 'Bugfix: dependents no longer get copied between columns.' id '18ef65a6-29e5-11d8-b2cf-000a95702430' date '8 December 2003' time '8:14:54 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.16' message 'Refactored lenses.

Now a lens only needs to know about its object, not its objects children. This makes the lens interface much simpler, and allows us to work with objects, not strings.' id '7aebb0f8-291c-11d8-a859-000a95702430' date '7 December 2003' time '8:18:50 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.15' message 'Removed meta-data from file text.' id '2c27011e-2912-11d8-a859-000a95702430' date '7 December 2003' time '7:05:03 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.14' message 'Introduced the concept of panes.

This is to distinguish panes (the morphs that are displayed in the browser) from columns which are more abstract. Panes are usually PluggableListMorphs, but need not be.

Renamed OBColumnScroller to OBPaneScroller.' id 'c24bbc62-2839-11d8-850e-000a95702430' date '6 December 2003' time '5:15:54 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.13' message 'Made file browsing display file information in the text area.' id '5a24f81c-268c-11d8-837f-000a95702430' date '4 December 2003' time '2:02:05 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.12' message 'Removed the currentColumn ivar from the browser. It now relies on the invariant that the rightmost column does not have a selected item. Therefore the current column is to its immediate left.' id '52730a8c-25c1-11d8-8734-000a95702430' date '3 December 2003' time '1:48:44 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.11' message 'Made the browser responsible for managing the columns.' id 'f0ebfa40-25bf-11d8-8734-000a95702430' date '3 December 2003' time '1:38:51 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.10' message 'When there''s no selection, we show blank text instead of ''nil''.' id 'f79c7b8c-2539-11d8-9d92-000a95702430' date '2 December 2003' time '9:39:50 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.9' message 'Added a test that asserts that when items with no children get selected an additional column is not created.' id '13f7431a-2539-11d8-9d92-000a95702430' date '2 December 2003' time '9:33:28 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.8' message 'Refactored the lens protocol.

Added an abstract superclass for lenses. Also, #childrenFor: is now #lensesFor:.

' id 'c948ef42-2221-11d8-bef9-000a95702430' date '28 November 2003' time '11:09:11 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.7' message 'Added directory browsing capability.' id 'a95fb172-221f-11d8-bef9-000a95702430' date '28 November 2003' time '10:53:58 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.6' message 'Made the tests pass again.' id 'b3c359ca-2215-11d8-bef9-000a95702430' date '28 November 2003' time '9:42:40 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.5' message 'Columns are now created and destroyed as needed.' id '176048b1-1fb8-11d8-a468-000a95702430' date '25 November 2003' time '9:27:33 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.4' message 'Fixed layout bug.

' id '89286317-1e30-11d8-bac7-000a95702430' date '23 November 2003' time '10:44:41 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.3' message 'Copied the good bits from NotaBene.

Mainly this means NBColumnScroller, and the window building code from NBBrowser.' id 'e59b1d15-1e0a-11d8-978b-000a95702430' date '23 November 2003' time '6:15:15 pm' author 'cwp' ancestors ((name 'OmniBrowser-cwp.1' message 'Renamed package.' id '4edf95b6-8515-45d0-b2ec-bd3cc5147964' date '23 November 2003' time '1:16:28 pm' author 'cwp' ancestors ())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(name 'OmniBrowser-avi.44' message 'Only add a new column in OBBrowser>>selected: if its metanode has children.  This means that leaf nodes, like selecting a file in the file browser or a method in the image browser, do not produce empty columns at the end (although empty directories or categories still do).' id '8deebe66-5043-11d8-9ee2-000a95db7844' date '26 January 2004' time '1:06:48 pm' author 'avi' ancestors ((id 'dd2fd842-4e2b-11d8-a589-000a95702430')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(name 'OmniBrowser-avi.94' message 'Preliminary drag and drop support.
There are two new methods on OBNode: #wantsDroppedNode: and #acceptDroppedNode:.  The first should return true or false depending on whether the drag and drop operation is appropiate, the second will get sent if the user actually drops the node.

OBNode can also override #asDraggableMorph to provide a custom visual while dragging.

For now I haven''t done much with it - it''s used in a half-assed way by ClassCategoryNode as an example, but that''s it.' id 'd8359d44-63f6-11d8-a34c-000a95db7844' date '20 February 2004' time '2:48:04 pm' author 'avi' ancestors ((id 'c78ed86f-61a6-11d8-ae8a-000a95702430')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(name 'OmniBrowser-avi.141' message 'Make MetaNode responsible for creating OBColumn instances so that it can choose to use an alternate class (for example, a TreeColumn).' id 'c8f48d82-6dcd-11d8-9f2d-000a95db7844' date '4 March 2004' time '3:19:21 am' author 'avi' ancestors ((id '398c1672-6ce6-11d8-b421-000a95702430')))))))))))))))))))))(name 'OmniBrowser-avi.145' message 'Still refactoring #selection - tests pass.' id 'dee74a8f-7006-11d8-95ef-000a95db7844' date '6 March 2004' time '11:13:01 pm' author 'avi' ancestors ((name 'OmniBrowser-avi.144' message 'Refactoring to reduce assumptions about selection ivar in Column.' id '785857de-7003-11d8-95ef-000a95db7844' date '6 March 2004' time '10:48:41 pm' author 'avi' ancestors ((name 'OmniBrowser-avi.143' message 'Fix #shortNameOf: and #longNameOf: in PackageInfo to deal with the "base" category of a package, ie, the category that has the unadorned name of the package.' id '8a6ee6f6-6edb-11d8-9701-000a95db7844' date '5 March 2004' time '11:30:20 am' author 'avi' ancestors ((id 'c8f48d82-6dcd-11d8-9f2d-000a95db7844')))(name 'OmniBrowser-avi.142' message 'Started work on TreeColumn.' id 'f99ddcdc-6dd1-11d8-9be3-000a95db7844' date '4 March 2004' time '3:49:21 am' author 'avi' ancestors ((id 'c8f48d82-6dcd-11d8-9f2d-000a95db7844')))(id '329e01c4-6ee2-11d8-aa8b-000a95702430')))))))))))))))))))))))))))))))))))))))))))))