diff dwt/internal/cocoa/NSParagraphStyle.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dwt/internal/cocoa/NSParagraphStyle.d	Sat Aug 09 17:00:02 2008 +0200
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * 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.NSParagraphStyle;
+
+import dwt.internal.cocoa.CGFloat;
+import dwt.internal.cocoa.NSArray;
+import dwt.internal.cocoa.NSInteger;
+import dwt.internal.cocoa.NSObject;
+import dwt.internal.cocoa.NSString;
+import dwt.internal.cocoa.NSText : NSTextAlignment;
+import dwt.internal.cocoa.OS;
+import objc = dwt.internal.objc.runtime;
+
+enum NSLineBreakMode
+{
+    NSLineBreakByWordWrapping = 0,
+    NSLineBreakByCharWrapping,
+    NSLineBreakByClipping,
+    NSLineBreakByTruncatingHead,
+    NSLineBreakByTruncatingTail,
+    NSLineBreakByTruncatingMiddle
+}
+
+alias NSLineBreakMode.NSLineBreakByWordWrapping NSLineBreakByWordWrapping;
+alias NSLineBreakMode.NSLineBreakByCharWrapping NSLineBreakByCharWrapping;
+alias NSLineBreakMode.NSLineBreakByClipping NSLineBreakByClipping;
+alias NSLineBreakMode.NSLineBreakByTruncatingHead NSLineBreakByTruncatingHead;
+alias NSLineBreakMode.NSLineBreakByTruncatingTail NSLineBreakByTruncatingTail;
+alias NSLineBreakMode.NSLineBreakByTruncatingMiddle NSLineBreakByTruncatingMiddle;
+
+public class NSParagraphStyle : NSObject
+{
+
+    public this ()
+    {
+        super();
+    }
+
+    public this (objc.id id)
+    {
+        super(id);
+    }
+
+    public NSTextAlignment alignment ()
+    {
+        return cast(NSTextAlignment) OS.objc_msgSend(this.id, OS.sel_alignment);
+    }
+
+    public NSWritingDirection baseWritingDirection ()
+    {
+        return cast(NSWritingDirection) OS.objc_msgSend(this.id, OS.sel_baseWritingDirection);
+    }
+
+    public static NSParagraphStyle defaultParagraphStyle ()
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSParagraphStyle, OS.sel_defaultParagraphStyle);
+        return result !is null ? new NSParagraphStyle(result) : null;
+    }
+
+    public CGFloat defaultTabInterval ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_defaultTabInterval);
+    }
+
+    public static NSWritingDirection defaultWritingDirectionForLanguage (NSString languageName)
+    {
+        return cast(NSWritingDirection) OS.objc_msgSend(OS.class_NSParagraphStyle, OS.sel_defaultWritingDirectionForLanguage_1,
+                languageName !is null ? languageName.id : null);
+    }
+
+    public CGFloat firstLineHeadIndent ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_firstLineHeadIndent);
+    }
+
+    public CGFloat headIndent ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_headIndent);
+    }
+
+    public NSInteger headerLevel ()
+    {
+        return OS.objc_msgSend(this.id, OS.sel_headerLevel);
+    }
+
+    public float hyphenationFactor ()
+    {
+        return cast(float) OS.objc_msgSend_fpret(this.id, OS.sel_hyphenationFactor);
+    }
+
+    public NSLineBreakMode lineBreakMode ()
+    {
+        return OS.objc_msgSend(this.id, OS.sel_lineBreakMode);
+    }
+
+    public CGFloat lineHeightMultiple ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_lineHeightMultiple);
+    }
+
+    public CGFloat lineSpacing ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_lineSpacing);
+    }
+
+    public CGFloat maximumLineHeight ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_maximumLineHeight);
+    }
+
+    public CGFloat minimumLineHeight ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_minimumLineHeight);
+    }
+
+    public CGFloat paragraphSpacing ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_paragraphSpacing);
+    }
+
+    public CGFloat paragraphSpacingBefore ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_paragraphSpacingBefore);
+    }
+
+    public NSArray tabStops ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_tabStops);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public CGFloat tailIndent ()
+    {
+        return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_tailIndent);
+    }
+
+    public NSArray textBlocks ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_textBlocks);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public NSArray textLists ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_textLists);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public float tighteningFactorForTruncation ()
+    {
+        return cast(float) OS.objc_msgSend_fpret(this.id, OS.sel_tighteningFactorForTruncation);
+    }
+
+}