@Override public void preserveValues(CTabFolder folder) { preserveProperty(folder, PROP_TAB_POSITION, getTabPosition(folder)); preserveProperty(folder, PROP_TAB_HEIGHT, folder.getTabHeight()); preserveProperty(folder, PROP_MIN_MAX_STATE, getMinMaxState(folder)); preserveProperty(folder, PROP_MINIMIZE_BOUNDS, getMinimizeBounds(folder)); preserveProperty(folder, PROP_MINIMIZE_VISIBLE, folder.getMinimizeVisible()); preserveProperty(folder, PROP_MAXIMIZE_BOUNDS, getMaximizeBounds(folder)); preserveProperty(folder, PROP_MAXIMIZE_VISIBLE, folder.getMaximizeVisible()); preserveProperty(folder, PROP_CHEVRON_BOUNDS, getChevronBounds(folder)); preserveProperty(folder, PROP_CHEVRON_VISIBLE, getChevronVisible(folder)); preserveProperty(folder, PROP_UNSELECTED_CLOSE_VISIBLE, folder.getUnselectedCloseVisible()); preserveProperty(folder, PROP_SELECTION, folder.getSelection()); preserveProperty(folder, PROP_SELECTION_BACKGROUND, getSelectionBackground(folder)); preserveProperty(folder, PROP_SELECTION_FOREGROUND, getSelectionForeground(folder)); preserveProperty(folder, PROP_SELECTION_BACKGROUND_IMAGE, getSelectionBackgroundImage(folder)); preserveSelectionBgGradient(folder); preserveProperty(folder, PROP_BORDER_VISIBLE, folder.getBorderVisible()); }
@Override public void renderChanges(CTabFolder folder) throws IOException { ControlLCAUtil.renderChanges(folder); WidgetLCAUtil.renderCustomVariant(folder); renderProperty(folder, PROP_TAB_POSITION, getTabPosition(folder), DEFAULT_TAB_POSITION); renderProperty(folder, PROP_TAB_HEIGHT, folder.getTabHeight(), DEFAULT_TAB_HEIGHT); renderProperty(folder, PROP_MIN_MAX_STATE, getMinMaxState(folder), DEFAULT_MIN_MAX_STATE); renderProperty(folder, PROP_MINIMIZE_BOUNDS, getMinimizeBounds(folder), ZERO_BOUNDS); renderProperty(folder, PROP_MINIMIZE_VISIBLE, folder.getMinimizeVisible(), false); renderProperty(folder, PROP_MAXIMIZE_BOUNDS, getMaximizeBounds(folder), ZERO_BOUNDS); renderProperty(folder, PROP_MAXIMIZE_VISIBLE, folder.getMaximizeVisible(), false); renderProperty(folder, PROP_CHEVRON_BOUNDS, getChevronBounds(folder), ZERO_BOUNDS); renderProperty(folder, PROP_CHEVRON_VISIBLE, getChevronVisible(folder), false); renderProperty(folder, PROP_UNSELECTED_CLOSE_VISIBLE, folder.getUnselectedCloseVisible(), true); renderProperty(folder, PROP_SELECTION, folder.getSelection(), null); renderProperty(folder, PROP_SELECTION_BACKGROUND, getSelectionBackground(folder), null); renderProperty(folder, PROP_SELECTION_FOREGROUND, getSelectionForeground(folder), null); renderProperty( folder, PROP_SELECTION_BACKGROUND_IMAGE, getSelectionBackgroundImage(folder), null); renderSelectionBackgroundGradient(folder); renderProperty(folder, PROP_BORDER_VISIBLE, folder.getBorderVisible(), false); renderListenDefaultSelection(folder); }
@Override protected void draw(int part, int state, Rectangle bounds, GC gc) { updateEmptyClassIfNeeded(); if (part == PART_BODY && !isPreviewingTab()) { /* * 7: Editor area - Minimize / maximize look brocken * https://github.com/jeeeyul/eclipse-themes/issues/issue/7 * * Calculated tab height of empty tab seens to cause this problems. */ if (tabFolder.getItemCount() == 0) { if (lastKnownTabHeight < 0) { lastKnownTabHeight = tabFolder.getFont().getFontData()[0].getHeight() + 19; } tabFolder.setTabHeight(lastKnownTabHeight); } else { tabFolder.setTabHeight(-1); lastKnownTabHeight = tabFolder.getTabHeight(); } } super.draw(part, state, bounds, gc); }