view dwt/internal/cocoa/NSSegmentedCell.d @ 13:f565d3a95c0a

Ported dwt.internal
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Fri, 22 Aug 2008 16:46:34 +0200
parents 8b48be5454ce
children
line wrap: on
line source

/*******************************************************************************
 * Copyright (c) 2007 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     
 * Port to the D programming language:
 *     Jacob Carlborg <jacob.carlborg@gmail.com>
 *******************************************************************************/
module dwt.internal.cocoa.NSSegmentedCell;

import dwt.internal.cocoa.CGFloat;
import dwt.internal.cocoa.NSActionCell;
import dwt.internal.cocoa.NSImage;
import dwt.internal.cocoa.NSImageCell : NSImageScaling;
import dwt.internal.cocoa.NSInteger;
import dwt.internal.cocoa.NSMenu;
import dwt.internal.cocoa.NSRect;
import dwt.internal.cocoa.NSString;
import dwt.internal.cocoa.NSView;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

enum NSBackgroundStyle : NSUInteger
{
    NSBackgroundStyleLight = 0,
    NSBackgroundStyleDark,
    NSBackgroundStyleRaised,
    NSBackgroundStyleLowered
}

alias NSBackgroundStyle.NSBackgroundStyleLight NSBackgroundStyleLight;
alias NSBackgroundStyle.NSBackgroundStyleDark NSBackgroundStyleDark;
alias NSBackgroundStyle.NSBackgroundStyleRaised NSBackgroundStyleRaised;
alias NSBackgroundStyle.NSBackgroundStyleLowered NSBackgroundStyleLowered;

enum NSSegmentSwitchTracking : NSUInteger
{
    NSSegmentSwitchTrackingSelectOne = 0,
    NSSegmentSwitchTrackingSelectAny = 1,
    NSSegmentSwitchTrackingMomentary = 2
}

alias NSSegmentSwitchTracking.NSSegmentSwitchTrackingSelectOne NSSegmentSwitchTrackingSelectOne;
alias NSSegmentSwitchTracking.NSSegmentSwitchTrackingSelectAny NSSegmentSwitchTrackingSelectAny;
alias NSSegmentSwitchTracking.NSSegmentSwitchTrackingMomentary NSSegmentSwitchTrackingMomentary;

public class NSSegmentedCell : NSActionCell
{

    public this ()
    {
        super();
    }

    public this (objc.id id)
    {
        super(id);
    }

    public void drawSegment (NSInteger segment, NSRect frame, NSView controlView)
    {
        OS.objc_msgSend(this.id_, OS.sel_drawSegment_1inFrame_1withView_1, segment, frame, controlView !is null ? controlView.id_ : null);
    }

    public NSImage imageForSegment (NSInteger segment)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_imageForSegment_1, segment);
        return result !is null ? new NSImage(result) : null;
    }

    public NSImageScaling imageScalingForSegment (NSInteger segment)
    {
        return cast(NSImageScaling) OS.objc_msgSend(this.id_, OS.sel_imageScalingForSegment_1, segment);
    }

    public NSBackgroundStyle interiorBackgroundStyleForSegment (NSInteger segment)
    {
        return cast(NSBackgroundStyle) OS.objc_msgSend(this.id_, OS.sel_interiorBackgroundStyleForSegment_1, segment);
    }

    public bool isEnabledForSegment (NSInteger segment)
    {
        return OS.objc_msgSend(this.id_, OS.sel_isEnabledForSegment_1, segment) !is null;
    }

    public bool isSelectedForSegment (NSInteger segment)
    {
        return OS.objc_msgSend(this.id_, OS.sel_isSelectedForSegment_1, segment) !is null;
    }

    public NSString labelForSegment (NSInteger segment)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_labelForSegment_1, segment);
        return result !is null ? new NSString(result) : null;
    }

    public void makeNextSegmentKey ()
    {
        OS.objc_msgSend(this.id_, OS.sel_makeNextSegmentKey);
    }

    public void makePreviousSegmentKey ()
    {
        OS.objc_msgSend(this.id_, OS.sel_makePreviousSegmentKey);
    }

    public NSMenu menuForSegment (NSInteger segment)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_menuForSegment_1, segment);
        return result !is null ? new NSMenu(result) : null;
    }

    public NSInteger segmentCount ()
    {
        return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_segmentCount);
    }

    public NSInteger segmentStyle ()
    {
        return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_segmentStyle);
    }

    public bool selectSegmentWithTag (NSInteger tag)
    {
        return OS.objc_msgSend(this.id_, OS.sel_selectSegmentWithTag_1, tag) !is null;
    }

    public NSInteger selectedSegment ()
    {
        return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_selectedSegment);
    }

    public void setEnabled (bool enabled, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setEnabled_1forSegment_1, enabled, segment);
    }

    public void setImage (NSImage image, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setImage_1forSegment_1, image !is null ? image.id_ : null, segment);
    }

    public void setImageScaling (NSImageScaling scaling, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setImageScaling_1forSegment_1, scaling, segment);
    }

    public void setLabel (NSString label, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setLabel_1forSegment_1, label !is null ? label.id_ : null, segment);
    }

    public void setMenu (NSMenu menu, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setMenu_1forSegment_1, menu !is null ? menu.id_ : null, segment);
    }

    public void setSegmentCount (NSInteger count)
    {
        OS.objc_msgSend(this.id_, OS.sel_setSegmentCount_1, count);
    }

    public void setSegmentStyle (NSInteger segmentStyle)
    {
        OS.objc_msgSend(this.id_, OS.sel_setSegmentStyle_1, segmentStyle);
    }

    public void setSelected (bool selected, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setSelected_1forSegment_1, selected, segment);
    }

    public void setSelectedSegment (NSInteger selectedSegment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setSelectedSegment_1, selectedSegment);
    }

    public void setTag (NSInteger tag, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setTag_1forSegment_1, tag, segment);
    }

    public void setToolTip (NSString toolTip, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setToolTip_1forSegment_1, toolTip !is null ? toolTip.id_ : null, segment);
    }

    public void setTrackingMode (NSSegmentSwitchTracking trackingMode)
    {
        OS.objc_msgSend(this.id_, OS.sel_setTrackingMode_1, trackingMode);
    }

    public void setWidth (CGFloat width, NSInteger segment)
    {
        OS.objc_msgSend(this.id_, OS.sel_setWidth_1forSegment_1, width, segment);
    }

    public NSInteger tagForSegment (NSInteger segment)
    {
        return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_tagForSegment_1, segment);
    }

    public NSString toolTipForSegment (NSInteger segment)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_toolTipForSegment_1, segment);
        return result !is null ? new NSString(result) : null;
    }

    public NSSegmentSwitchTracking trackingMode ()
    {
        return cast(NSSegmentSwitchTracking) OS.objc_msgSend(this.id_, OS.sel_trackingMode);
    }

    public CGFloat widthForSegment (NSInteger segment)
    {
        return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_widthForSegment_1, segment);
    }

}