Skip to content

Commit 56e804e

Browse files
committed
FLTK: fix tab resizing
1 parent 56d1d10 commit 56e804e

File tree

13 files changed

+49
-50
lines changed

13 files changed

+49
-50
lines changed

ChangeLog

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
2019-12-13 (0.12.17)
1+
2019-12-15 (0.12.17)
22
FLTK: add online samples command
3+
FLTK: fix tab resizing
34

45
2019-12-07 (0.12.17)
56
FLTK: fix memory leaks

src/platform/fltk/FileWidget.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ static void anchorClick_cb(Fl_Widget *w, void *v) {
101101
}
102102
}
103103

104-
FileWidget::FileWidget(Fl_Widget *rect) :
105-
HelpWidget(rect),
104+
FileWidget::FileWidget(Fl_Widget *rect, int fontSize) :
105+
HelpWidget(rect, fontSize),
106106
_saveEditorAs(0),
107107
_recentPaths(NULL) {
108108
callback(anchorClick_cb);

src/platform/fltk/FileWidget.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include "platform/fltk/EditorWidget.h"
1515

1616
struct FileWidget : public HelpWidget {
17-
FileWidget(Fl_Widget *rect);
17+
FileWidget(Fl_Widget *rect, int fontSize);
1818
~FileWidget();
1919

2020
static const char *forwardSlash(char *filename);

src/platform/fltk/HelpView.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ static void helpViewClick_cb(Fl_Widget *w, void *v) {
5959
Fl::add_check(helpViewClick_event);
6060
}
6161

62-
HelpView::HelpView(Fl_Widget *rect) :
63-
HelpWidget(rect),
62+
HelpView::HelpView(Fl_Widget *rect, int fontSize) :
63+
HelpWidget(rect, fontSize),
6464
_openKeyword(-1),
6565
_openPackage(0) {
6666
}

src/platform/fltk/HelpView.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
const char *getBriefHelp(const char *selection);
1515

1616
struct HelpView : public HelpWidget {
17-
HelpView(Fl_Widget *rect);
17+
HelpView(Fl_Widget *rect, int fontSize);
1818
~HelpView();
1919

2020
void about();

src/platform/fltk/HelpWidget.cxx

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1644,7 +1644,7 @@ static void anchor_callback(Fl_Widget *helpWidget, void *target) {
16441644
((HelpWidget *)helpWidget)->navigateTo((const char *)target);
16451645
}
16461646

1647-
HelpWidget::HelpWidget(Fl_Widget *rect, int defsize) :
1647+
HelpWidget::HelpWidget(Fl_Widget *rect, int fontSize) :
16481648
Fl_Group(rect->x(), rect->y(), rect->w(), rect->h()),
16491649
background(BACKGROUND_COLOR),
16501650
foreground(FOREGROUND_COLOR),
@@ -1675,7 +1675,7 @@ HelpWidget::HelpWidget(Fl_Widget *rect, int defsize) :
16751675
callback(anchor_callback); // default callback
16761676
init();
16771677
docHome.clear();
1678-
labelsize(defsize);
1678+
labelsize(fontSize);
16791679
}
16801680

16811681
HelpWidget::~HelpWidget() {
@@ -2657,18 +2657,6 @@ int HelpWidget::handle(int event) {
26572657
}
26582658

26592659
switch (event) {
2660-
case EVENT_INCREASE_FONT:
2661-
if (getFontSize() < MAX_FONT_SIZE) {
2662-
setFontSize(getFontSize() + 1);
2663-
}
2664-
return 1;
2665-
2666-
case EVENT_DECREASE_FONT:
2667-
if (getFontSize() > MIN_FONT_SIZE) {
2668-
setFontSize(getFontSize() - 1);
2669-
}
2670-
return 1;
2671-
26722660
case EVENT_COPY_TEXT:
26732661
copySelection();
26742662
return 1;

src/platform/fltk/HelpWidget.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@
3333

3434
#define MIN_FONT_SIZE 11
3535
#define MAX_FONT_SIZE 22
36-
#define EVENT_INCREASE_FONT 100
37-
#define EVENT_DECREASE_FONT 101
3836
#define EVENT_COPY_TEXT 102
3937
#define EVENT_SEL_ALL_TEXT 103
4038
#define EVENT_FIND 104
@@ -52,7 +50,7 @@ struct ImageNode;
5250

5351
class HelpWidget : public Fl_Group {
5452
public:
55-
HelpWidget(Fl_Widget *rect, int defsize = MIN_FONT_SIZE);
53+
HelpWidget(Fl_Widget *rect, int fontSize);
5654
virtual ~HelpWidget();
5755

5856
void loadBuffer(const char *buffer);

src/platform/fltk/MainWindow.cxx

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -448,30 +448,18 @@ void MainWindow::copy_text(Fl_Widget *w, void *eventData) {
448448
}
449449

450450
void MainWindow::font_size_incr(Fl_Widget *w, void *eventData) {
451-
EditorWidget *editWidget = getEditor();
452-
if (editWidget) {
453-
int size = editWidget->getFontSize();
454-
if (size < MAX_FONT_SIZE) {
455-
editWidget->setFontSize(size + 1);
456-
updateConfig(editWidget);
457-
_runtime->setFontSize(size + 1);
458-
}
459-
} else {
460-
handle(EVENT_INCREASE_FONT);
451+
int size = _runtime->getFontSize();
452+
if (size < MAX_FONT_SIZE) {
453+
_runtime->setFontSize(size + 1);
454+
resizeTabs(size + 1);
461455
}
462456
}
463457

464458
void MainWindow::font_size_decr(Fl_Widget *w, void *eventData) {
465-
EditorWidget *editWidget = getEditor();
466-
if (editWidget) {
467-
int size = editWidget->getFontSize();
468-
if (size > MIN_FONT_SIZE) {
469-
editWidget->setFontSize(size - 1);
470-
updateConfig(editWidget);
471-
_runtime->setFontSize(size - 1);
472-
}
473-
} else {
474-
handle(EVENT_DECREASE_FONT);
459+
int size = _runtime->getFontSize();
460+
if (size > MIN_FONT_SIZE) {
461+
_runtime->setFontSize(size - 1);
462+
resizeTabs(size - 1);
475463
}
476464
}
477465

@@ -1086,7 +1074,7 @@ void MainWindow::open_file(Fl_Widget *w, void *eventData) {
10861074
Fl_Group *openFileGroup = findTab(gw_file);
10871075
if (!openFileGroup) {
10881076
openFileGroup = createTab(gw_file, fileTabName);
1089-
fileWidget = new FileWidget(_out);
1077+
fileWidget = new FileWidget(_out, _runtime->getFontSize());
10901078
openFileGroup->resizable(fileWidget);
10911079
openFileGroup->end();
10921080
_tabGroup->end();
@@ -1142,7 +1130,7 @@ HelpView *MainWindow::getHelp() {
11421130
Fl_Group *helpGroup = findTab(gw_help);
11431131
if (!helpGroup) {
11441132
helpGroup = createTab(gw_help, helpTabName);
1145-
help = new HelpView(_out);
1133+
help = new HelpView(_out, _runtime->getFontSize());
11461134
help->callback(help_contents_anchor_cb);
11471135
helpGroup->resizable(help);
11481136
_profile->setHelpTheme(help);
@@ -1382,6 +1370,27 @@ void MainWindow::resizeDisplay(int x, int y, int w, int h) {
13821370
_runtime->resize(w, h);
13831371
}
13841372

1373+
void MainWindow::resizeTabs(int fontSize) {
1374+
int n = _tabGroup->children();
1375+
for (int c = 0; c < n; c++) {
1376+
Fl_Group *group = (Fl_Group *)_tabGroup->child(c);
1377+
GroupWidgetEnum gw = getGroupWidget(group);
1378+
switch (gw) {
1379+
case gw_editor:
1380+
((EditorWidget *)group->child(0))->setFontSize(fontSize);
1381+
break;
1382+
case gw_help:
1383+
((HelpWidget *)group->child(0))->setFontSize(fontSize);
1384+
break;
1385+
case gw_file:
1386+
((FileWidget *)group->child(0))->setFontSize(fontSize);
1387+
break;
1388+
default:
1389+
break;
1390+
}
1391+
}
1392+
}
1393+
13851394
/**
13861395
* returns any active tty widget
13871396
*/

src/platform/fltk/MainWindow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ struct MainWindow : public BaseWindow {
8080
void pathMessage(const char *file);
8181
void resize(int x, int y, int w, int h);
8282
void resizeDisplay(int x, int y, int w, int h);
83+
void resizeTabs(int fontSize);
8384
void saveEditConfig(EditorWidget *editWidget);
8485
void scanPlugIns(Fl_Menu_Bar *menu);
8586
void scanRecentFiles(Fl_Menu_Bar *menu);

src/platform/fltk/Profile.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Profile::Profile() :
3838
_loaded(false),
3939
_createBackups(true),
4040
_lineNumbers(true),
41-
_fontSize(12),
41+
_fontSize(DEF_FONT_SIZE),
4242
_indentLevel(2),
4343
_helpThemeId(0) {
4444
loadEditTheme(0);
@@ -111,6 +111,7 @@ void Profile::restore(MainWindow *wnd) {
111111
}
112112

113113
restoreTabs(wnd, &profile);
114+
wnd->_runtime->setFontSize(_fontSize);
114115
}
115116
_loaded = true;
116117
}

0 commit comments

Comments
 (0)