Re: My own listbox
Re: My own listbox
- Subject: Re: My own listbox
- From: "Vitaly Ovchinnikov" <email@hidden>
- Date: Sat, 2 Aug 2008 13:53:14 +0400
The problem with -setFrameSize is that it wants width too. I want my
control to use the whole width of the scrollview's client area. But
this whole width depends on vertical scrollbar, that may be hidden.
And this depends on height that I should pass to -setFrameSize...
On Sat, Aug 2, 2008 at 1:53 PM, Boris Remizov <email@hidden> wrote:
> To draw custom rows you should implement your ownNSCell class and set it to
> your
> NSTableView's column with IB or programmatically (invoke NSTableColumn's
> setDataCell).
> But if your control is 'really' so much 'Custom' and you decide that
> NSTableView is not sufficient
> for your purpose, to allow NSScrollView to correctly scroll your view, easy
> setFrameSize of the one
> to correct value (to bound all content). That is sufficient.
>
> On Aug 2, 2008, at 12:40 PM, Vitaly Ovchinnikov wrote:
>
>> The problem is that my control will work like listbox, but don't
>> exactly. Actually I need to draw every row myself. And these rows will
>> have some padding and many graphics stuff inside. And they will have
>> adjustable height... And so on.
>> I don't think that it is possible to do this with standard controls. Am I
>> wrong?
>>
>> On Sat, Aug 2, 2008 at 1:33 PM, Boris Remizov <email@hidden> wrote:
>>>
>>> Hello,
>>> You shouldn't do this over work by implementing your own Control. You may
>>> use
>>> NSTableView or NSOutlineView instead. These visual classes allow to
>>> implement
>>> ListBox's look-and-feel and behavior in much much easier manner.
>>>
>>> On Aug 2, 2008, at 12:21 PM, Vitaly Ovchinnikov wrote:
>>>
>>>> Hello,
>>>> In windows there is a control called "Listbox". It looks like grid
>>>> with single column without header. Several rows and maybe a scrollbar.
>>>> Example is here:
>>>>
>>>> http://www.java2s.com/Tutorial/VBImages/ListBoxSelectionEventAddValue.PNG
>>>>
>>>> I need to create control that works similar way. It will not be
>>>> actually a listbox, but it will work the same way: few objects - rows
>>>> and an optional scrollbar. As a "good" cocoa programmer I derived
>>>> NSControl and implemented -drawRect to draw my own rows. Then I put
>>>> this control to the window in Interface Builder and embed it into
>>>> NSScrollView. Here the problem starts. How can I tell NSScrollView
>>>> what size does my control have? I tried to implement -bounds and
>>>> -frame methods, but scroller became crazy. I tried this code:
>>>>
>>>> - (NSRect) frame
>>>> {
>>>> NSRect rc = [super frame];
>>>> rc.size.height = number_of_rows * height_of_row;
>>>> return rc;
>>>> }
>>>>
>>>> - (NSRect) bounds {.. the same..}
>>>>
>>>> NSScrollView shows scrollbar with correct proportions, but then I drag
>>>> it - it scrolls my control to the wrong direction. I tried to play
>>>> with -isFlipped - no success.
>>>>
>>>> So I need some similar source to take a look for what I missed. Does
>>>> anybody have one?
>>>> Thank you.
>>>
>
>
_______________________________________________
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