Mercurial > projects > dwt2
comparison org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet288.d @ 120:536e43f63c81
Comprehensive update for Win32/Linux32 dmd-2.053/dmd-1.068+Tango-r5661
===D2===
* added [Try]Immutable/Const/Shared templates to work with differenses in D1/D2 instead of version statements
used these templates to work with strict type storage rules of dmd-2.053
* com.ibm.icu now also compilable with D2, but not tested yet
* small fixes
Snippet288 - shared data is in TLS
===Phobos===
* fixed critical bugs in Phobos implemention
completely incorrect segfault prone fromStringz (Linux's port ruthless killer)
terrible, incorrect StringBuffer realization (StyledText killer)
* fixed small bugs as well
Snippet72 - misprint in the snippet
* implemented missed functionality for Phobos
ByteArrayOutputStream implemented (image loading available)
formatting correctly works for all DWT's cases
As a result, folowing snippets now works with Phobos (Snippet### - what is fixed):
Snippet24, 42, 111, 115, 130, 235, 276 - bad string formatting
Snippet48, 282 - crash on image loading
Snippet163, 189, 211, 213, 217, 218, 222 - crash on copy/cut in StyledText
Snippet244 - hang-up
===Tango===
* few changes for the latest Tango trunc-r5661
* few small performance improvments
===General===
* implMissing-s for only one version changed to implMissingInTango/InPhobos
* incorrect calls to Format in toString-s fixed
* fixed loading \uXXXX characters in ResourceBundle
* added good UTF-8 support for StyledText, TextLayout (Win32) and friends
UTF functions revised and tested. It is now in java.nonstandard.*Utf modules
StyledText and TextLayout (Win32) modules revised for UTF-8 support
* removed small diferences in most identical files in *.swt.* folders
*.swt.internal.image, *.swt.events and *.swt.custom are identical in Win32/Linux32
now 179 of 576 (~31%) files in *.swt.* folders are fully identical
* Win32: snippets now have right subsystem, pretty icons and native system style controls
* small fixes in snippets
Snippet44 - it's not Snippet44
Snippet212 - functions work with different images and offsets arrays
Win32: Snippet282 - crash on close if the button has an image
Snippet293 - setGrayed is commented
and others
Win32: As a result, folowing snippets now works
Snippet68 - color doesn't change
Snippet163, 189, 211, 213, 217, 218, 222 - UTF-8 issues (see above)
Snippet193 - no tabel headers
author | Denis Shelomovskij <verylonglogin.reg@gmail.com> |
---|---|
date | Sat, 09 Jul 2011 15:50:20 +0300 |
parents | 9f4c18c268b2 |
children |
comparison
equal
deleted
inserted
replaced
119:d00e8db0a568 | 120:536e43f63c81 |
---|---|
48 struct FileConst { | 48 struct FileConst { |
49 static const PathSeparatorChar = sep; | 49 static const PathSeparatorChar = sep; |
50 } | 50 } |
51 } | 51 } |
52 | 52 |
53 static Display display; | 53 mixin(gshared!(" |
54 static Shell shell; | 54 Display display; |
55 static GC shellGC; | 55 Shell shell; |
56 static Color shellBackground; | 56 GC shellGC; |
57 static ImageLoader[] loader; | 57 Color shellBackground; |
58 static ImageData[][] imageDataArray; | 58 ImageLoader[] loader; |
59 static Thread[] animateThread; | 59 ImageData[][] imageDataArray; |
60 static Image[][] image; | 60 Thread[] animateThread; |
61 private static ToolItem[] item; | 61 Image[][] image; |
62 static const bool useGIFBackground = false; | 62 ToolItem[] item; |
63 ")); | |
64 const bool useGIFBackground = false; | |
63 | 65 |
64 void main () { | 66 void main () { |
65 display = new Display(); | 67 display = new Display(); |
66 Shell shell = new Shell (display); | 68 Shell shell = new Shell (display); |
67 shellBackground = shell.getBackground(); | 69 shellBackground = shell.getBackground(); |
110 display.dispose (); | 112 display.dispose (); |
111 } | 113 } |
112 Thread.joinAll(); | 114 Thread.joinAll(); |
113 } | 115 } |
114 | 116 |
115 private static void loadAllImages(String directory, String[] filenames) { | 117 void loadAllImages(String directory, String[] filenames) { |
116 int numItems = filenames.length; | 118 int numItems = filenames.length; |
117 loader.length = numItems; | 119 loader.length = numItems; |
118 imageDataArray.length = numItems; | 120 imageDataArray.length = numItems; |
119 image.length = numItems; | 121 image.length = numItems; |
120 for (int i = 0; i < numItems; i++) { | 122 for (int i = 0; i < numItems; i++) { |
178 } | 180 } |
179 } | 181 } |
180 } | 182 } |
181 } | 183 } |
182 | 184 |
183 private static void startAnimationThreads() { | 185 void startAnimationThreads() { |
184 animateThread = new Thread[image.length]; | 186 animateThread = new Thread[image.length]; |
185 for (int ii = 0; ii < image.length; ii++) { | 187 for (int ii = 0; ii < image.length; ii++) { |
186 animateThread[ii] = new class(ii) Thread { | 188 animateThread[ii] = new class(ii) Thread { |
187 int imageDataIndex = 0; | 189 int imageDataIndex = 0; |
188 int id = 0; | 190 int id = 0; |