Reader small image

You're reading from  Eclipse Plug-in Development Beginner's Guide - Second Edition

Product typeBook
Published inAug 2016
Reading LevelExpert
Publisher
ISBN-139781783980697
Edition2nd Edition
Languages
Tools
Right arrow
Author (1)
Alex Blewitt
Alex Blewitt
author image
Alex Blewitt

contacted on 30 aug 16 _____________ Dr Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTstep 3.0. He upgraded his NeXTstation for a TiBook when Apple released Mac OS X in 2001 and has been developing on it ever since. Alex currently works for an investment bank in London, writes for the on-line technology news site InfoQ and has published two other books for Packt publishing. He also has a number of apps on the Apple AppStore through Bandlem Limited. When he's not working on technology, and if the weather is nice, he likes to go flying from the nearby Cranfield airport. Alex writes regularly at his blog, http://alblue.bandlem.com, as well tweeting regularly from Twitter as @alblue. Acknowledgements This book would not have been possible without the ongoing love and support of my wife Amy, who has helped me through both the highs and lows of life. She gave me the freedom to work during the many late nights and weekends that it takes to produce a book and its associated code repository. She truly is the Lem of my life. I'd also like to thank my parents, Ann and Derek, for their encouragement and support during my formative years. It was this work ethic that allowed me to start my technology career as a teenager and to incorporate my first company before I was 25. I'd also like to congratulate them on their 50th wedding anniversary in 2015, and I look forward to reaching that goal with Amy. Thanks are due especially to the reviewer of this version of the book: Antonio Bello, as well as the previous version of this book: Nate Cook, James Robert and Arvid Gerstmann, who provided excellent feedback on the contents of this book during development and caught many errors in both the text and code. Any remaining errors are my own. I'd also like to thank my children Sam and Holly for inspiring me and hope that they too can achieve anything that they set their minds to. Finally, I'd like to thank Ben Moseley and Eren Kotan, both of whom introduced me to NeXT in the first place and set my career going on a twenty year journey to this book.
Read more about Alex Blewitt

Right arrow

Chapter 2 – Creating Views with SWT


Understanding views

1. In the Eclipse 3.x model, views must be subclasses of ViewPart. In the Eclipse 4.x model, parts do not need to have an explicit superclass.

2. In the Eclipse 3.x model, views are registered via an org.eclipse.ui.views extension point in the plugin.xml.

3. The two arguments that most SWT objects have are a Composite parent and an integer flags field.

4. When a widget is disposed, it will have its native resources released to the operating system. Any subsequent actions will throw an SWTException with a Widget is disposed message.

5. The Canvas has many drawing operations; to draw a circle, use drawArc(), and specify a full orbit.

6. To receive drawing events, a PaintListener must be created and associated with the control by using the addPaintListener method.

7. UI updates not on the UI thread will generate an SWTException with an Invalid thread access error.

8. To perform an update on a widget from a non-UI thread, use the asyncExec or syncExec methods from Display (3.x) or UISynchronize (4.x) to wrap a Runnable or lambda that will run on the UI thread.

9. SWT.DEFAULT is used to indicate default options in the flags parameter that is passed to the construction of an SWT widget.

10. Create a RowData object with the given size, and associate it with each widget.

Understanding resources

1. Resource leaks occur when an SWT Resource is acquired from the OS but then not returned to it via a dispose method prior to the object being garbage collected.

2. The different types of resources are Color, Cursor, Font, GC, Image, Path, Pattern, Region, TextLayout, and Transform.

3. Run the Eclipse instance in tracing mode, with org.eclipse.ui/debug and org.eclipse.ui/trace/graphics set, specified in a debug file, and launched with -debug.

4. Use the Display.getDeviceData() to get the objects arrays, and iterate through them.

5. The right way is to register a DisposeListener with the view, and the wrong way is to override the dispose method.

Understanding widgets

1. Using the setFocus method to set the focus on a particular widget.

2. Invoking redraw will allow the widget to redraw itself.

3. The combo can have a SelectionListener associated with it.

4. The widgetDefaultSelected is what is called when the default value is used, typically an empty value.

Using SWT

1. Use the Tray and TrayItem widgets.

2. The NO_TRIM means don't draw the edges of the window, or the close/maximize/minimize buttons.

3. Use setAlpha to control a widget's transparency, including shells.

4. setRegion with a path describing the shape.

5. A Group allows you to group things together with a standard item.

6. Most composites use a null layout manager by default; it's only shells and dialogs that have a non-default value.

7. Use a ScrolledComposite.

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Eclipse Plug-in Development Beginner's Guide - Second Edition
Published in: Aug 2016Publisher: ISBN-13: 9781783980697

Author (1)

author image
Alex Blewitt

contacted on 30 aug 16 _____________ Dr Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTstep 3.0. He upgraded his NeXTstation for a TiBook when Apple released Mac OS X in 2001 and has been developing on it ever since. Alex currently works for an investment bank in London, writes for the on-line technology news site InfoQ and has published two other books for Packt publishing. He also has a number of apps on the Apple AppStore through Bandlem Limited. When he's not working on technology, and if the weather is nice, he likes to go flying from the nearby Cranfield airport. Alex writes regularly at his blog, http://alblue.bandlem.com, as well tweeting regularly from Twitter as @alblue. Acknowledgements This book would not have been possible without the ongoing love and support of my wife Amy, who has helped me through both the highs and lows of life. She gave me the freedom to work during the many late nights and weekends that it takes to produce a book and its associated code repository. She truly is the Lem of my life. I'd also like to thank my parents, Ann and Derek, for their encouragement and support during my formative years. It was this work ethic that allowed me to start my technology career as a teenager and to incorporate my first company before I was 25. I'd also like to congratulate them on their 50th wedding anniversary in 2015, and I look forward to reaching that goal with Amy. Thanks are due especially to the reviewer of this version of the book: Antonio Bello, as well as the previous version of this book: Nate Cook, James Robert and Arvid Gerstmann, who provided excellent feedback on the contents of this book during development and caught many errors in both the text and code. Any remaining errors are my own. I'd also like to thank my children Sam and Holly for inspiring me and hope that they too can achieve anything that they set their minds to. Finally, I'd like to thank Ben Moseley and Eren Kotan, both of whom introduced me to NeXT in the first place and set my career going on a twenty year journey to this book.
Read more about Alex Blewitt