NSDrawer probleempje

Hallo allemaal, ik heb een vervelend probleempje, ik heb een Mainwindow met daaraan een drawer. Bovenin mijn mainwindow een toolbar met allerlei icons die vensters openen ed. Nu heb ik ook als laatste icon een drawericon, die, als je erop zou klikken de drawer zou moeten openen/sluiten. Ik heb ook ergens in de mainwindow gewoon een button die is verbonden (om te testen) met de "toggle: " aktie. Ik heb al vanalles geprobeerd om die drawer via de drawer icon in de toolbar geopend te krijgen, maar hij vertikt het gewoon. Ik krijg het om de een of andere lullige reden niet. Is er hier Iemand die me een aantal suggesties kan doen of sample code heeft??

TIA

En aan die NSButton hangt de toggle: action?

edit: ps Je moet wel ff die button of icon selecteren en dan met de CRTL toets (in Interface Builder) een link leggen met je NSDrawerView…

Aan die NSButton zit idd de toggle: action, die doet het wel, het is degeen die in de toolbar zit die ik niet aan het werken krijg...

Deze werkten niet:

  • (void)toggle:(id)sender
    {

    [postoverzichtDrawer toggle:self];
    }

of deze:

  • (IBAction)togglePostoverzichtDrawer:(id)sender
    {
    [postoverzichtDrawer toggle:self];

    NSDrawerState state = [postoverzichtDrawer state];
    if (NSDrawerOpenState == state || NSDrawerOpeningState == state)
    {
    [postoverzichtDrawer close];
    }
    else
    {
    [postoverzichtDrawer open];
    }

}

Heb je een subklasse gemaakt van NSObject voor die Toolbar?

Ja, de toolbar staat in MyDocument helemaal in code, met alle coding, alle andere icons werken als ik erop klik, tis net alleen die ene, die de drawer moet openen, die wilt niet :(

Hmm, ja ik weet het dan zo ook niet meer (moet zelf ook nog -echt- beginnen met Cocoa ;))

Misschien kan je eens wat breakpoints zetten en een NSLog bij houden, en heeft het slepen met CRTL van het icoon naar de NSDrawer geen effect? Zie je dan de connections?

nee, want dat gaat net niet, die toolbar word in code aangemaakt en dus pas zichtbaar als het programma opstart.....

thanx in ieder geval

Je hebt gelijk, ik was ff benieuwd en heb het zelf even geprobeerd, met een losse klasse (van NSObject) waarin de toolbar staat.

Nu heb ik in die NSToolbar een NSView gemaakt met een menutje, in het menu zit een item (NSMenuItem) “toggle drawer” deze heb ik vervolgens met CRTL klik ‘gehangen’ aan myDrawer (een NSDrawer dus in je .nib) en dan staan bij je NSMenuItem infoscherm bij Taget/Action tabblad “Actions in NSDrawer” de toggle: action, klik op connect en het werkt.

Ik zou zeggen loop het ff in de Interface Builder na, zoals ik het nu zie…

Suc6, mijn raad is op :stuck_out_tongue:

beetje laat maar dit kan er ook aan de hand zijn.

Je moet een ‘parent window’ aangeven. Dit kan door via de control toets je NSDrawer met je venster te linken waar je hem wil tonen. doe het toggle commando met de button zoals je al gedaan had. Als je in je interface builder geen draw content hebt staan. Moet je even een custom view naar het nib venster slepen (waar ook al je andere windows staan). nu geef je de content view aan door de NSDrawer te linken met je custom view of draw view. Als je nu appeltje +R doet werkt je drawer al.