Removing the borderline in eclipse-theme?

Hi everybody,

When using the eclipse theme, there are rectangle borderlines around the tabs of the dockables which do not follow the contour of the tabs on the upper right corner (I could mail you a screenshot If you like). I want to remove these lines, but cannot seem to find the corresponding method nor the class where these lines are painted.

Could anybody point me into the right direction?

Thanks!

Hi Daniela,

could you please post a small picture of the problem you mentioned?
During the last weeks I’ve customized the eclipse theme, but I can’t figure out the border problem you describe.

I have to admit, I do not know which borders you speak of either. You can attach an image to a post in this forum, there is no need to send around emails.

Well the „insert image“-button requires an url, I couldn’t post the picture without hosting it somewhere. But here it is:

My intention is to remove the outer border within the red ellipse, if I could get rid of the inner one (the one which follows the contour of the tab), that would be nice, too. :slight_smile:

Thank you for your help

As a guest you do not have a button to upload and insert an image. Maybe you should register a nickname on byte-welt. :slight_smile:
Sorry for my bad english, I writing not often in this language.

I’m at work, so my answer will be brief:

This border depends on the current TabPainter (which is not much more than a factory). Try this: create a new class implementing TabPainter and copy the code from ArchGradientPainter.FACTORY. Make sure the method “getFullBorder” returns null or some Border you would like to show.

You can install your new TabPainter using the PropertyKey EclipseTheme.TAB_PAINTER (and DockController.getProperties().set(…)).

The inner border (i think you mean the straight line below the close,… buttons) is painted by the LinePainter. This painter is set within the same TabPainter class Beni mentioned.

Here is an example for the TabPainter without any border (I’m using the common package):

cControl.putProperty(EclipseTheme.TAB_PAINTER, new TabPainter() {

   @Override
   public Border getFullBorder(BorderedComponent owner, DockController controller, Dockable dockable) {
      return null;
   }

   @Override
   public TabComponent createTabComponent(EclipseTabPane pane, Dockable dockable) {
      return new ArchGradientPainter(pane, dockable);
   }

   @Override
   public InvisibleTab createInvisibleTab(InvisibleTabPane pane, Dockable dockable) {
      return new DefaultInvisibleTab(pane, dockable);
   }

   @Override
   public TabPanePainter createDecorationPainter(EclipseTabPane pane) {
      return null;
   }
});

The methods which return null are the interesting ones for you. But I think you will need some sort of border, because without any border the dockables look kind of odd.

If you need any further help, keep me posted.