|
View previous topic :: View next topic |
Author |
Message |
DEddy
|
Posted: Mon 06 Dec, 2004 15:12 Post subject: Reading entire directory tree |
|
|
Tjark -
Is the process of reading the entire tree structure (and retaining it in "storage" somewhere) part of the various frameworks?
If so which one?
- David |
|
Back to top |
|
Tjark Derlien
|
Posted: Mon 06 Dec, 2004 16:33 Post subject: |
|
|
Yes and no ;-)
Here is short overview of the embedded frameworks and their use:
OmniBase, OmniFoundation, OmniAppKit
These are frameworks that should simplify application development and are used by many apps (first, of course, by OmniGraffle, OmniWeb et al from the OmniGoup). They offer a wealth of both small helper utilities as well as comprehensive extensions to Apple's frameworks. These frameworks originate in the NextStep era.
CocoTechBase, CocoaTechFoundation, CocoaTechStrings, CocoaTechID3
These frameworks are published by CocoaTech, the maker of PathFinder. They became open source with PathFinder 3 and depend on the Omni frameworks.
Their speciality is, you guess it, file handling.
TreeMapView
This is the framework to draw the treemap. It has a general use API (similiar to NSOutlineView's) and so it's not limit to display file/folder data.
The using application just deliver the child count for each node and their "weight" (in the case of DIX, the file/folder sizes).
The Omni and CocoTech frameworks are mainly used for:
DIX uses the Omni frameworks (mainly) for the preference panel and the toolbar.
The CocoaTech frameworks are (mainly) used for listing the mounted volumes (and to be able to update the list as volumes get mounted or unmounted). They are also needed to query some specific file properties.
The directory scanning is implemented by in DIX for optimal performance, although the CocoaTechFoundation 's classes have this capabilty.
Update: I forgot to mention the listing of properties in the information panel.
In earlier versions, DIX didn't use any of these frameworks and they are the reason for DIX's much bigger file size (compared to DIX 0.7 and 0.8). But I decided to integate them because they really have helpful classes for almost every aspect (and who cares about 1 MB more to download these days?).
I hope this helps. I will publish the source shortly so everyone can have a look. |
|
Back to top |
|
DEddy
|
Posted: Mon 06 Dec, 2004 19:30 Post subject: |
|
|
Tjark -
That helps a lot.
I have the Omni frameworks (haven't uncompressed them yet).
Wasn't aware that CocoaTech had released its framework efforts... I'll definitely rush right over.
Thanks.
- David |
|
Back to top |
|
Tjark Derlien
|
Posted: Mon 06 Dec, 2004 19:49 Post subject: |
|
|
A tip for compiling the Omni and CocoaTech frameworks:
Open the .pbproj, not the .xcode files:
Quote: | Even if you're building with Xcode, you may want to stick to the .pbproj projects when building last week's source release: the source release is from the OmniWeb 5.0 branch of our frameworks, and I'm not sure whether the .xcode project files in them are up to date. Our production builds of OmniWeb 5.0 are being done using the .pbproj files. (They work fine under Xcode, they just use old-style Project Builder targets rather than Xcode native targets.) |
You will have to take the dependencies into account:
Omni: Base -> Foundation -> AppKit
CocoaTech: Omni -> String -> ID3 -> Base -> Foundation
I was only able to compile a framework depending on others after deleting and re-adding all needed frameworks (otherwise the headers weren't found).
Good luck! |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|
Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional
Modified by Tjark Derlien
|
|
|