mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Platform: mac tabs (let's see the reaction)
This commit is contained in:
@@ -207,7 +207,7 @@ public class
|
||||
if (label == null || point == null) {
|
||||
return true;
|
||||
}
|
||||
final Rectangle bounds = label.getBounds();
|
||||
final Rectangle bounds = label.getBounds();
|
||||
return point.y <= bounds.y + bounds.height;
|
||||
}
|
||||
|
||||
@@ -254,10 +254,8 @@ public class
|
||||
|
||||
@Override
|
||||
public void apply(UiDecorator.UiDecoration decoration) {
|
||||
setFont(UIUtil.getLabelFont(UIUtil.FontSize.SMALL));
|
||||
myLabel.setFont(UIUtil.getLabelFont(UIUtil.FontSize.SMALL));
|
||||
setBorder(new EmptyBorder(5, 5, 7, 5));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTabActionsAutoHide(boolean autoHide) {
|
||||
@@ -274,10 +272,5 @@ public class
|
||||
wrapper.add(Box.createHorizontalStrut(6), BorderLayout.WEST);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getSelectedOffset() {
|
||||
return getNonSelectedOffset();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,6 @@ import javax.swing.*;
|
||||
* @author pegov
|
||||
*/
|
||||
public class TabsUtil {
|
||||
|
||||
|
||||
public static final int TAB_VERTICAL_PADDING = 2;
|
||||
public static final int TABS_BORDER = 1;
|
||||
|
||||
@@ -32,7 +30,7 @@ public class TabsUtil {
|
||||
}
|
||||
|
||||
public static int getTabsHeight() {
|
||||
return TAB_VERTICAL_PADDING * 2 + new JLabel("XXX").getPreferredSize().height + 1 /* +1 ??? */;
|
||||
return new JLabel("XXX").getPreferredSize().height + 2 + TAB_VERTICAL_PADDING * 2 + TABS_BORDER * 2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -75,6 +75,7 @@ public class TabLabel extends JPanel {
|
||||
myLabel.setIconTextGap(tabs.isEditorTabs() ? 2 : new JLabel().getIconTextGap());
|
||||
myLabel.setIconOpaque(false);
|
||||
myLabel.setIpad(new Insets(0, 0, 0, 0));
|
||||
myLabel.setFont(UIUtil.getLabelFont(UIUtil.FontSize.SMALL));
|
||||
setOpaque(false);
|
||||
setLayout(new BorderLayout());
|
||||
|
||||
@@ -233,25 +234,20 @@ public class TabLabel extends JPanel {
|
||||
}
|
||||
|
||||
protected int getNonSelectedOffset() {
|
||||
if (myTabs.isEditorTabs()) {
|
||||
int offset = (TabsUtil.ACTIVE_TAB_UNDERLINE_HEIGHT / 2);
|
||||
if (myTabs.isSingleRow()) {
|
||||
return myTabs.getTabsPosition() == JBTabsPosition.bottom ? -(offset + 1) : -offset + 1;
|
||||
} else {
|
||||
return ((TableLayout)myTabs.getEffectiveLayout()).isLastRow(getInfo()) ? -offset + 1 : offset - 1;
|
||||
}
|
||||
if (myTabs.isEditorTabs() && (myTabs.isSingleRow() || ((TableLayout)myTabs.getEffectiveLayout()).isLastRow(getInfo()))) {
|
||||
return -TabsUtil.ACTIVE_TAB_UNDERLINE_HEIGHT / 2 + 1;
|
||||
}
|
||||
|
||||
return 2;
|
||||
return 1;
|
||||
}
|
||||
|
||||
protected int getSelectedOffset() {
|
||||
return myTabs.isEditorTabs() ? -(TabsUtil.ACTIVE_TAB_UNDERLINE_HEIGHT / 2) + 1 : 1;
|
||||
return getNonSelectedOffset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension getPreferredSize() {
|
||||
final Dimension size = super.getPreferredSize();
|
||||
size.height = TabsUtil.getTabsHeight();
|
||||
if (myActionPanel != null && !myActionPanel.isVisible()) {
|
||||
final Dimension actionPanelSize = myActionPanel.getPreferredSize();
|
||||
size.width += actionPanelSize.width;
|
||||
@@ -259,7 +255,7 @@ public class TabLabel extends JPanel {
|
||||
|
||||
final JBTabsPosition pos = myTabs.getTabsPosition();
|
||||
switch (pos) {
|
||||
case top: case bottom: size.height += myTabs.isEditorTabs() ? TabsUtil.ACTIVE_TAB_UNDERLINE_HEIGHT : getSelectedOffset(); break;
|
||||
case top: case bottom: size.height += TabsUtil.ACTIVE_TAB_UNDERLINE_HEIGHT - 1; break;
|
||||
case left: case right: size.width += getSelectedOffset(); break;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ import java.awt.*;
|
||||
|
||||
public abstract class SingleRowLayoutStrategy {
|
||||
|
||||
private static final int MIN_TAB_WIDTH = 120;
|
||||
private static final int MIN_TAB_WIDTH = 50;
|
||||
final SingleRowLayout myLayout;
|
||||
final JBTabsImpl myTabs;
|
||||
|
||||
|
||||
@@ -355,13 +355,13 @@ public abstract class ToolWindowHeader extends JPanel implements Disposable {
|
||||
@Override
|
||||
public Dimension getPreferredSize() {
|
||||
Dimension size = super.getPreferredSize();
|
||||
return new Dimension(size.width, TabsUtil.getTabsHeight() + TabsUtil.TABS_BORDER * 2);
|
||||
return new Dimension(size.width, TabsUtil.getTabsHeight());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension getMinimumSize() {
|
||||
Dimension size = super.getMinimumSize();
|
||||
return new Dimension(size.width, TabsUtil.getTabsHeight() + TabsUtil.TABS_BORDER * 2);
|
||||
return new Dimension(size.width, TabsUtil.getTabsHeight());
|
||||
}
|
||||
|
||||
private class ActionButton extends Wrapper implements ActionListener, AltStateManager.AltListener {
|
||||
|
||||
Reference in New Issue
Block a user