Re: Automatic population of NSTableView with custom columns at launch time
Re: Automatic population of NSTableView with custom columns at launch time
- Subject: Re: Automatic population of NSTableView with custom columns at launch time
- From: Rick Hoge <email@hidden>
- Date: Tue, 5 Aug 2008 09:05:57 -0400
One other thing I'm not sure I understand -
Are you calling setAutosaveName: yourself? Set it to nil in the nib.
Then, call it yourself.
Why can't this be set in the nib? I would have thought this is the
logical place to set it, and that once set any changes to the table
would be recorded.
What happens differently when the values (autosave and file name) are
set in the code?
Thanks again for the reply and sorry if this is dense - just trying to
make sure I understand the suggestions.
Rick
Before you call it, print out all the table columns to see what they
are. Then, load your tablecolumns that you want (add new ones). Then
call setAutosaveName:<something>. Change the width of a column in
your GUI. This should save out the autosave values. Quit your app.
Restart it. Are the columns restored?
This pattern should work; I use it internally in the open and save
panel.
corbin
On Aug 4, 2008, at 3:36 PM, Rick Hoge wrote:
Thanks for the suggestion -
I tried calling setAutosaveTableColumns: after adding a column from
code, but on next launch it only showed the columns that are
defined in the nib with IB.
Rick
On 4-Aug-08, at 5:39 PM, Corbin Dunn wrote:
If you add all the columns (and remove old ones) before calling
setAutosaveName:, or setAutosaveTableColumns:, then it should work
out okay; it will restore all of the widths, positions, etc.
corbin
On Aug 4, 2008, at 2:03 PM, Rick Hoge wrote:
I'm working on an application that will allow users to add
columns of descriptive information to an NSTableView - the
available columns are determined at launch time by loading a
dictionary.
In my test app, I can add columns to my table no problem. Now I
am trying to decide on a robust and efficient way to make sure
that the set of columns chosen by the user, and their geometry,
is saved when quitting the app and restored at the next launch.
I can think of a number of brute force ways to do it - save an
array of column identifiers and/or value bindings to user
preferences, for example.
I know it's possible to autosave column layout information under
Leopard through the framework, and this appears to work. The
autosave info appears to restore the geometry of columns defined
in the nib file, but it won't force a reload of columns created
programatically in the last session. I suspect that the autosave
file may actually contain the identifiers of all columns
displayed as of the last application quit, and wonder if there is
a way, during nib loading, to access this list so I can
initialize the table.
I don't like having the same information stored multiple places
(i.e. my own NSArray in user prefs replicating info that might be
more complete in the NSTableView autosave file) if I can avoid
it, but can't seem to find a way to get at all the info in this
file.
If anyone has some good examples of how this can be done, or some
past experience to share on what works well, I'd be very grateful.
(43092.6825)
(43092.6825)
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden