From d119e6e20762735d3205896d791bf71952dc31ec Mon Sep 17 00:00:00 2001 From: Lakshmi Priya Shanmugam Date: Fri, 17 May 2019 16:14:05 +0530 Subject: Bug 537125: Table/Tree header cannot apply font size Set Table/Tree's font to header cell. Set header's height too in setItemHeight(). Change-Id: I09946f1dd01e08b60d77c31c733e8dc5675c2514 --- .../Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java | 9 +++++++++ .../Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java index 161429c0a5..d3374e8e5d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java @@ -632,6 +632,7 @@ void createItem (TableColumn column, int index) { } column.createJNIRef (); NSTableHeaderCell headerCell = (NSTableHeaderCell)new SWTTableHeaderCell ().alloc ().init (); + if (font != null) headerCell.setFont(font.handle); nsColumn.setHeaderCell (headerCell); display.addWidget (headerCell, column); column.nsColumn = nsColumn; @@ -2615,6 +2616,9 @@ public void setColumnOrder (int [] order) { @Override void setFont (NSFont font) { super.setFont (font); + for (int i = 0; i < columnCount; i++) { + columns[i].nsColumn.headerCell().setFont(font); + } setItemHeight (null, font, !hooks (SWT.MeasureItem)); view.setNeedsDisplay (true); clearCachedWidth (items); @@ -2777,6 +2781,11 @@ void setItemHeight (Image image, NSFont font, boolean set) { NSTableView widget = (NSTableView)view; if (set || widget.rowHeight () < height) { widget.setRowHeight (height); + if (headerView != null) { + NSRect frame = headerView.frame(); + frame.height = height; + headerView.setFrame(frame); + } } } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java index fcbf5c28ae..171707538d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java @@ -681,6 +681,7 @@ void createItem (TreeColumn column, int index) { } column.createJNIRef (); NSTableHeaderCell headerCell = (NSTableHeaderCell)new SWTTableHeaderCell ().alloc ().init (); + if (font != null) headerCell.setFont(font.handle); nsColumn.setHeaderCell (headerCell); display.addWidget (headerCell, column); column.nsColumn = nsColumn; @@ -2908,6 +2909,9 @@ public void setColumnOrder (int [] order) { @Override void setFont (NSFont font) { super.setFont (font); + for (int i = 0; i < columnCount; i++) { + columns[i].nsColumn.headerCell().setFont(font); + } setItemHeight (null, font, !hooks (SWT.MeasureItem)); view.setNeedsDisplay (true); clearCachedWidth (items); @@ -3109,6 +3113,11 @@ void setItemHeight (Image image, NSFont font, boolean set) { NSTableView widget = (NSTableView)view; if (set || widget.rowHeight () < height) { widget.setRowHeight (height); + if (headerView != null) { + NSRect frame = headerView.frame(); + frame.height = height; + headerView.setFrame(frame); + } } } -- cgit v1.2.3