Eclipse Yoxos Services Downloads Blogs About
Home > Blogs >

Elias Volanakis

on Mar 23rd, 2011EclipseCon Excercise update

Big thanks to all  runners who keep showing up for the EclipseCon run each morning. Particularly the brave bunch running in the rain today!

Join us tomorrow at 7am in the Hyatt Lobby (rain or shine) for the last run of the conference.

We will also having a little contest with the chance to win Eclipse.org goodies: (thank you!)

  • two black Eclipse.org long-sleeve shirts
  • two women’s Eclipse.org polo shirts
  • Eclipse.org insulating coffee mugs — battle-tested in arctic Ottawa icon wink EclipseCon Excercise update

EclipseCon 2011 EclipseCon Excercise update

 

on Feb 12th, 2011Let’s run together at EclipseCon 2011

eclipsecon excercise Lets run together at EclipseCon 2011

38 days left until EclipseCon — Sure, you’ve registered, booked the flight and hotel, checked your passport. Next: pack your running shoes!

Continuing the annual tradition started by Darin, we are organizing another edition of the EclipseCon Exercise:  an easy 3-mile run, starting in the Hyatt Lobby at 7:00 am each morning, Monday to Thursday. The trail is flat and paved and follows the stream / bike path behind the Hyatt.

Some reasons to run with us:

  • have fun and enjoy the fabulous Californian weather
  • burn off  last night’s food and beverages icon wink Lets run together at EclipseCon 2011
  • network in an informal setting
  • get an EclipseCon 2011 runner’s shirt courtesy of EclipseSource

If you plan to join us, please RSVP on wiki.

Here’s a picture from last year’s group. I hope to have as many join in this year.

eclipsecon runners 2010 Lets run together at EclipseCon 2011

See you in Santa Clara,
Elias.

on Nov 13th, 2010Portland DemoCamp 11/2010 – Photos and Slides

Thanks to everybody who attended or presented at the Portland Eclipse DemoCamp last Monday. This time the theme was “Eclipse for mobile developers”. We had about 50 attending, which is a strong uptick from past events.

Below some pictures and slides from the event:

1. Michael Galpin (@michaelg) from eBay opened the night with a presentation on ‘Android Development with Eclipse’. He introduced the Android platform and demoed the Eclipse-based Android Development Tools (ADT). Interesting fact: eBay’s mobile applications on Android are enjoyed by more than 3 million users. If you want to learn more about Android, Michael’s upcoming Android book should be a good place to start.

democamp1 300x225 Portland DemoCamp 11/2010   Photos and Slides

2. John Thomas from RIM continued with ‘BlackBerry Application Development Options‘. BlackBerry developers have a variety of language choices for developing apps, such as Java, HTML5/Javascript and Adobe AIR. All development tools are integrated nicely in Eclipse and Adobe’s FlashBuilder (also Eclipse based). Visit this page for details on BlackBerry app development.

democamp2 300x225 Portland DemoCamp 11/2010   Photos and Slides

3. Elias Volanakis (@evolanakis) talked about ‘iPad Development with Eclipse RAP‘. After introducing the project I demoed how to write a calculator web-app for the iPad using Java. We are optimizing RAP for mobile devices for the 1.4 release next summer. You can download the slides here.

democamp3 300x225 Portland DemoCamp 11/2010   Photos and Slides

Thanks for joining us,
Elias.

on Nov 5th, 2010Portland DemoCamp: Mobile Development with Eclipse – 11/8, 6pm

If you want to learn more about Android / Blackberry / iPad development while enjoying some free pizza and beer, I would be glad to see you next Monday. Will have three presentations:

  • Android Development with Eclipse
  • BlackBerry Application Development Options
  • iPad development with Eclipse

The event is scheduled for this Monday, Nov 8th at 6pm at the Lucky Labrador Beer Hall, 1945 NW Quimby (map).

Please RSVP on the wiki (or sent me an email). Space is limited, so sign up now.

http://wiki.eclipse.org/Eclipse_DemoCamps_November_2010/Portland

Looking forward to see you there,
Elias.

on Aug 19th, 2010Last week in Riena: 3.0 announced, Web support, ESE talks

Here are three recent developments from Eclipse Riena, that you may otherwise have missed:

• Version 3.0 announced – we have updated the development plan, skipping the 2.1 release and shooting straight for a 3.0 release next June (Eclipse Indigo). While we strive to keep the bulk of the APIs unchanged, this move will grant us the flexibility to carefully introduce changes needed to support Eclipse RAP.

You can read the full announcement here.

• Riena goes to the Web – We are excited about having all of Riena run on Eclipse RAP and are stepping up the effort.

navigation 400 Last week in Riena: 3.0 announced, Web support, ESE talks

In the last two weeks we have ported and committed the Riena Navigation to RAP. Thanks to recent improvements in RAP this was a breeze! We also have an automated build for this second platform. Lastly, we have worked to eliminate all compile errors when building against RAP. This should make further development more straightforward.

If you want to follow the effort add yourself on Bug 302893 and read the ‘Riena on RAP‘ page on the wiki.

• Riena at Eclipse Summit Europe - Riena committers are participating at the ESE, November 2 – 4 in Ludwigsburg. We have proposed following talks:

If you are interested in any of these topics: please follow the link and leave a short comment. This will help the organizers decide which talks to approve. Thanks!

on Aug 19th, 2010Eclipse RAP – What’s new in Helios? (Slides)

Here are the slides from my “Eclipse RAP – What’s new in Helios?“ talk, which I gave at the Bay Area Demo Camp in June. They capture the most interesting novelties of the RAP 1.3 release. You can find even more details in the full release notes.

rap new in helios bd Eclipse RAP   Whats new in Helios? (Slides)

I want to thank Oracle and AvantSoft for hosting and organizing the event.

If you are interested in future Eclipse events in the Bay Area, please take a moment to join the Bay Area Eclipse User Group on Meetup.com

on Jun 23rd, 2010Tip: How to detect that a View was Detached

Here is a question that I got on a post about detached views:

“How can I detect that a View has been detached from the main window? I would like to adjust the view’s behavior in that case.”

There is no API to obtain that information directly. However it is possible to do this with a few tricks:

  1. detached views have an empty window title (i.e. shell.getText().length() == 0)
  2. when a view is detached resize events are fired

Armed with that knowledge we can detect that a view is detached / reattached. The snippet below shows how (tested on windows).

PS: Our eclipse support helps developers use their time efficiently by providing prompt answers to questions like this one.

detached view Tip: How to detect that a View was Detached

on Mar 4th, 2010Error marker for SWT table rows – easy as pie

Here’s a nice addition to Riena’s TableRidget: you can now mark a table-row as incorrect.

This is done with an RowErrorMessageMarker. When hovering over the marked row, the corresponding error message will be shown in a tooltip.

IMarker marker = new RowErrorMessageMarker("An error message...", zorro);
tableRidget.addMarker(marker);
// to remove:
tableRidget.removeMarker(marker);

Full snippet here. This is shipping with the upcoming Riena 2.0 M6.

row marker 1 Error marker for SWT table rows   easy as pie

row marker 2 Error marker for SWT table rows   easy as pie

on Mar 3rd, 2010Shared libraries with Eclipse CDT and cygwin on Windows

Can you help me use shared libraries with Eclipse CDT, managed make and cygwin?“, I was asked yesterday. Read on for a list of common pitfalls and detailed instructions.

The instructions are based on the latest CDT release (Galileo) and cygwin (make 3.81, gcc 3.4.4). They are applicable to CDT’s managed make projects (that means CDT generates a makefile to build project).

The Pitfalls

It turns out that using a shared library on Windows is not as straight forward as you think. There are several pitfalls waiting for the unaware to fall into:

1. Recent versions of cygwin’s make insist on cygwin-style paths instead of windows paths (/cygdrive/c/foo instead of c:\foo). CDT is not picky about this and will generate an incorrect makefile, if you use workspace relative paths:

make all
example.d:1: *** multiple target patterns.  Stop.

The solution is to use absolute cygwin paths, such as: /cygdrive/c/workspace/mymath

2. The compiler and linker will not find the header files / library unless you set the appropriate parameters. The compiler needs an include path (-I). The linker needs the library name (-l) and library search path (-L). These settings are scattered in two places in the project properties. Their location is not obvious for a first-time user (details below).

3. When launching, Windows will not find the shared library (.dll) and greet you with the error pictured below. Unix users might try to set the LD_LIBRARY_PATH, which has no effect on Windows. The solution is to append the directory containing the .dll to the PATH (MSDN Article). Restart Eclipse for the changed PATH to take effect.

example stopped working Shared libraries with Eclipse CDT and cygwin on Windows

The remainder of the post walks you through the process of creating and using a simple shared library with cygwin and CDT.

Creating a Shared Library with CDT

Follow these instructions to create a shared library project with CDT.

1. File > New > Project > C Project > Next. Project name: mymath. Ensure “use default location” is checked. Note the location: c:\workspace\mymath — we’ll need it later. Project type: Shared Library; Empty Project. Hit Finish.

02 lib project Shared libraries with Eclipse CDT and cygwin on Windows

2. Create a header file (mymath.h) and the corresponding implementation (mymath.c). The example below provides a trivial function that multiplies two integers:

03 mymath c Shared libraries with Eclipse CDT and cygwin on Windows

3. Afterwards save and hit Ctrl+B (or Project > Build All) to build the library. If cygwin is on your path, you should see a “Release” folder in your project containing the file “mymath.dll”.

04 mymath dll Shared libraries with Eclipse CDT and cygwin on Windows

4. For windows to find the shared library, you need to add the directory containing the .dll to your path. On Vista this can be done via: Control Panel > User Accounts > User Accounts > Change my environment variables.

05 change path Shared libraries with Eclipse CDT and cygwin on Windows

5. Exit and restart Eclipse after changing the PATH. Otherwise the changes will not be picked up.

Using a Shared Library with CDT

Follow these instructions to use a shared library in a “managed make” CDT project.

1. File > New > Project > C Project > Next. Project name: example. Project type: Executable; Empty Project. Hit Finish.

06 example project Shared libraries with Eclipse CDT and cygwin on Windows

2. In that project create a file named example.c with the following content:

07 example c Shared libraries with Eclipse CDT and cygwin on Windows

3. Save and hit Ctrl+B to build the project. The second line will have an error: “mymath.h: No such file or directory”. We now have to adjust the compiler and linker settings so that the mymath.h / mymath.dll files are found during the build.

4. Select the “example” folder in the Project Explorer. Select “Project > Properties” from the menu. A dialog comes up. In the tree on the left open: “C/C++ General > Paths and Symbols”. In the “Languages” list, pick “GNU C”. Then hit “Add”. Enter the cygwin-style path to the “mymath” project: /cygdrive/c/workspace/mymath

Caution: When entering the path, don’t use the “Workspace” or “File system” buttons because the resulting path will not be compatible with cygwin’s make.

09 include path Shared libraries with Eclipse CDT and cygwin on Windows

5. In the same dialog select: C/C++ Build > Settings in the tree on the left. In the “Tool Settings” tab find: “Cygwin C Linker > Libraries”. Hit the “+” icon in the “Libraries” section and add the name of the library: mymath

Caution: if your shared library starts with lib, omit the ‘lib’ prefix (i.e. libfoo becomes foo)

Hit the “+” icon in the “Library search path” section and add the path to the folder containing the shared library: /cygdrive/c/workspace/mymath/Debug

10 library path Shared libraries with Eclipse CDT and cygwin on Windows

Hit OK.

6. You will be asked to rebuild the project. Answer “Yes”, but for some reason this will not rebuild your project. Hit Ctrl+B to rebuild. The error will go away.

11 rebuild dialog Shared libraries with Eclipse CDT and cygwin on Windows

08 example c with warning Shared libraries with Eclipse CDT and cygwin on Windows

Note: ignore the “unresolved inclusion” warning. It seems that CDT has trouble resolving cygwin-style paths. The generated make-file however will work as expected.

7. Select “example” in the Project Explorer. Right-click > Run As > Local C/C++ Application. At this point you see the result of the multiplication on the console. That means that the shared library was found and used successfully:

12 console Shared libraries with Eclipse CDT and cygwin on Windows

Kind regards,
Elias.

on Feb 20th, 2010Riena meets Eclipse RAP, goes to Browser

I’ve spend the last few days adjusting the Ridget layer in Riena, to make it work with Eclipse RAP and Eclipse RCP. We call this process “single-sourcing” (EclipseCon tutorial).

Ridgets wrap around standard SWT / RWT controls to provide additional functionality and a better API. One example that you can see below: Ridgets have “markers”, which tag a control as mandatory, wrong or read-only and change the control’s behavior accordingly.

It’s worth mentioning that all three screenshots run from the same code. The only difference is the target environment used (RAP or RCP).

rap riena 1 300x240 Riena meets Eclipse RAP, goes to Browser

Ridgets styled with RAP's "business" theme

rap riena 2 300x208 Riena meets Eclipse RAP, goes to Browser

Ridgets styled with RAP's "classic" theme

rcp riena 300x205 Riena meets Eclipse RAP, goes to Browser

Ridgets in a regular RCP application

Once this work is completed the Ridget API will be usable for RAP applications as well.

To stay informed about this effort:

© EclipseSource 2008 - 2011