comparison dwt/internal/cocoa/NSParagraphStyle.d @ 45:d8635bb48c7c

Merge with SWT 3.5
author Jacob Carlborg <doob@me.com>
date Mon, 01 Dec 2008 17:07:00 +0100
parents f565d3a95c0a
children 62202ce0039f
comparison
equal deleted inserted replaced
44:ca5e494f2bbf 45:d8635bb48c7c
1 /******************************************************************************* 1 /*******************************************************************************
2 * Copyright (c) 2007 IBM Corporation and others. 2 * Copyright (c) 2000, 2008 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials 3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0 4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at 5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html 6 * http://www.eclipse.org/legal/epl-v10.html
7 * 7 *
8 * Contributors: 8 * Contributors:
9 * IBM Corporation - initial API and implementation 9 * IBM Corporation - initial API and implementation
10 * 10 *
11 * Port to the D programming language: 11 * Port to the D programming language:
12 * Jacob Carlborg <jacob.carlborg@gmail.com> 12 * Jacob Carlborg <doob@me.com>
13 *******************************************************************************/ 13 *******************************************************************************/
14 module dwt.internal.cocoa.NSParagraphStyle; 14 module dwt.internal.cocoa.NSParagraphStyle;
15 15
16 import dwt.internal.cocoa.CGFloat; 16 import dwt.dwthelper.utils;
17 import cocoa = dwt.internal.cocoa.id;
17 import dwt.internal.cocoa.NSArray; 18 import dwt.internal.cocoa.NSArray;
18 import dwt.internal.cocoa.NSInteger;
19 import dwt.internal.cocoa.NSObject; 19 import dwt.internal.cocoa.NSObject;
20 import dwt.internal.cocoa.NSString; 20 import dwt.internal.cocoa.NSText;
21 import dwt.internal.cocoa.NSText : NSTextAlignment, NSWritingDirection;
22 import dwt.internal.cocoa.OS; 21 import dwt.internal.cocoa.OS;
23 import objc = dwt.internal.objc.runtime; 22 import objc = dwt.internal.objc.runtime;
24 23
25 enum NSLineBreakMode : NSUInteger 24 enum NSLineBreakMode
26 { 25 {
27 NSLineBreakByWordWrapping = 0, 26 NSLineBreakByWordWrapping = 0,
28 NSLineBreakByCharWrapping, 27 NSLineBreakByCharWrapping,
29 NSLineBreakByClipping, 28 NSLineBreakByClipping,
30 NSLineBreakByTruncatingHead, 29 NSLineBreakByTruncatingHead,
31 NSLineBreakByTruncatingTail, 30 NSLineBreakByTruncatingTail,
32 NSLineBreakByTruncatingMiddle 31 NSLineBreakByTruncatingMiddle
33 } 32 }
34 33
35 alias NSLineBreakMode.NSLineBreakByWordWrapping NSLineBreakByWordWrapping; 34 enum NSTextTabType
36 alias NSLineBreakMode.NSLineBreakByCharWrapping NSLineBreakByCharWrapping; 35 {
37 alias NSLineBreakMode.NSLineBreakByClipping NSLineBreakByClipping; 36 NSLeftTabStopType = 0,
38 alias NSLineBreakMode.NSLineBreakByTruncatingHead NSLineBreakByTruncatingHead; 37 NSRightTabStopType,
39 alias NSLineBreakMode.NSLineBreakByTruncatingTail NSLineBreakByTruncatingTail; 38 NSCenterTabStopType,
40 alias NSLineBreakMode.NSLineBreakByTruncatingMiddle NSLineBreakByTruncatingMiddle; 39 NSDecimalTabStopType
40 }
41 41
42 public class NSParagraphStyle : NSObject 42 public class NSParagraphStyle : NSObject {
43 {
44 43
45 public this () 44 public this() {
46 { 45 super();
47 super(); 46 }
48 }
49 47
50 public this (objc.id id) 48 public this(objc.id id) {
51 { 49 super(id);
52 super(id); 50 }
53 }
54 51
55 public NSTextAlignment alignment () 52 public this(cocoa.id id) {
56 { 53 super(id);
57 return cast(NSTextAlignment) OS.objc_msgSend(this.id_, OS.sel_alignment); 54 }
58 }
59 55
60 public NSWritingDirection baseWritingDirection () 56 public NSTextAlignment alignment() {
61 { 57 return cast(NSTextAlignment) OS.objc_msgSend(this.id, OS.sel_alignment);
62 return cast(NSWritingDirection) OS.objc_msgSend(this.id_, OS.sel_baseWritingDirection); 58 }
63 }
64 59
65 public static NSParagraphStyle defaultParagraphStyle () 60 public NSArray tabStops() {
66 { 61 objc.id result = OS.objc_msgSend(this.id, OS.sel_tabStops);
67 objc.id result = OS.objc_msgSend(OS.class_NSParagraphStyle, OS.sel_defaultParagraphStyle); 62 return result !is null ? new NSArray(result) : null;
68 return result !is null ? new NSParagraphStyle(result) : null; 63 }
69 }
70
71 public CGFloat defaultTabInterval ()
72 {
73 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_defaultTabInterval);
74 }
75
76 public static NSWritingDirection defaultWritingDirectionForLanguage (NSString languageName)
77 {
78 return cast(NSWritingDirection) OS.objc_msgSend(OS.class_NSParagraphStyle, OS.sel_defaultWritingDirectionForLanguage_1,
79 languageName !is null ? languageName.id_ : null);
80 }
81
82 public CGFloat firstLineHeadIndent ()
83 {
84 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_firstLineHeadIndent);
85 }
86
87 public CGFloat headIndent ()
88 {
89 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_headIndent);
90 }
91
92 public NSInteger headerLevel ()
93 {
94 return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_headerLevel);
95 }
96
97 public float hyphenationFactor ()
98 {
99 return cast(float) OS.objc_msgSend_fpret(this.id_, OS.sel_hyphenationFactor);
100 }
101
102 public NSLineBreakMode lineBreakMode ()
103 {
104 return cast(NSLineBreakMode) OS.objc_msgSend(this.id_, OS.sel_lineBreakMode);
105 }
106
107 public CGFloat lineHeightMultiple ()
108 {
109 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_lineHeightMultiple);
110 }
111
112 public CGFloat lineSpacing ()
113 {
114 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_lineSpacing);
115 }
116
117 public CGFloat maximumLineHeight ()
118 {
119 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_maximumLineHeight);
120 }
121
122 public CGFloat minimumLineHeight ()
123 {
124 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_minimumLineHeight);
125 }
126
127 public CGFloat paragraphSpacing ()
128 {
129 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_paragraphSpacing);
130 }
131
132 public CGFloat paragraphSpacingBefore ()
133 {
134 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_paragraphSpacingBefore);
135 }
136
137 public NSArray tabStops ()
138 {
139 objc.id result = OS.objc_msgSend(this.id_, OS.sel_tabStops);
140 return result !is null ? new NSArray(result) : null;
141 }
142
143 public CGFloat tailIndent ()
144 {
145 return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_tailIndent);
146 }
147
148 public NSArray textBlocks ()
149 {
150 objc.id result = OS.objc_msgSend(this.id_, OS.sel_textBlocks);
151 return result !is null ? new NSArray(result) : null;
152 }
153
154 public NSArray textLists ()
155 {
156 objc.id result = OS.objc_msgSend(this.id_, OS.sel_textLists);
157 return result !is null ? new NSArray(result) : null;
158 }
159
160 public float tighteningFactorForTruncation ()
161 {
162 return cast(float) OS.objc_msgSend_fpret(this.id_, OS.sel_tighteningFactorForTruncation);
163 }
164 64
165 } 65 }