Unverified Commit d0fac4b2 authored by jayd1860's avatar jayd1860 Committed by GitHub
Browse files

v1.75.6 -- Fix font size in MenuBox on MAC (#166)

* v1.75.4

* DataTree, v1.11.1
-- Fix error when loading some probes in NirsClass check that NirsClass.GetChannelsMeanDistance() is error checking size of SrcPos3D and DetPos3D against meas list indices.

* Utils, v1.4.4
-- Change font size in MenuBox.
-- Adjust button width to slightly wider.

* v1.75.5 -- Fix font size for MAC for MenuBox.m and configSettingsGUI.m

* v1.75.6 -- Utils, 1.4.6 -- Tweak size of MenuBox text gap.
parent f5836455
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -1386,17 +1386,22 @@ classdef NirsClass < AcqDataClass & FileLoadSaveClass
            k = find(ml(:,4)==1);
            ml = ml(k,:);
            d1 = zeros(size(ml,1),1);
            for ii = 1:length(d1)
            d2 = zeros(size(ml,1),1);
            for ii = 1:size(ml,1)
                if ml(ii,1) <= size(obj.SD.SrcPos,1) && ml(ii,2) <= size(obj.SD.DetPos,1)
                    d1(ii) = dist3(obj.SD.SrcPos(ml(ii,1),:), obj.SD.DetPos(ml(ii,2),:));
                end
                if ml(ii,1) <= size(obj.SD.SrcPos3D,1) && ml(ii,2) <= size(obj.SD.DetPos3D,1)
                    d2(ii) = dist3(obj.SD.SrcPos3D(ml(ii,1),:), obj.SD.DetPos3D(ml(ii,2),:));
                end
            end
            md2d = mean(d1);
            md3d = mean(d2);
        end
        
        
                        
        % ----------------------------------------------------------------------------------        
        % -----------------------------------------------------------------------
        function ErrorCheck(obj)
            if isempty(obj)
                return
+1 −1
Original line number Diff line number Diff line
1.11.0
 No newline at end of file
1.11.1
 No newline at end of file
+39 −20
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ function [answer, hf] = MenuBox(msg, bttns, relativePos, textLineWidth, options)
%   q = MenuBox('Please select option',{'option1','option2','option3'},[],[],'dontAskAgain:radiobutton');
%   q = MenuBox('Please select option',{'option1','option2','option3'},'upperright',80,'askEveryTime:radiobutton');
%
answer = [];
hf = [];

global bttnIds
@@ -68,6 +67,12 @@ if isempty(msg)
    return;
end

fs(1) = 10;
fs(2) = 8;
if ismac()
    fs = fs + 4;
end

ncheckboxes = length(checkboxes);
nbttns       = length(bttns)+ncheckboxes;

@@ -75,9 +80,10 @@ nbttns = length(bttns)+ncheckboxes;
% Initial X size and position of text
Wtext = 70;

Hk = 1.2;
Htext = ceil(length(msg) / Wtext)*Hk;
HtextGap0 = 2;
nNewLines = length(find(msg == sprintf('\n')))+4; %#ok<SPRINTFN>
nLines = ceil(length(msg) / Wtext)*1.5;
Htext = max([nNewLines, nLines]);
HtextGap0 = 1;
HtextGap = 2;

% Initial X sizes and positions of buttons
@@ -102,7 +108,7 @@ end

% Initial Y size and position of buttons
Hbttn = 1;
HbttnGap = 3;
HbttnGap = 2;

% Calculate standard height of buttons
for ii = 1:length(bttns)    
@@ -115,23 +121,24 @@ end

% Character size doesn't quite equal character units so we compensate by multiplying by 
% scaling factor in the x and y directions
Wbttn = Wbttn*1.3;
Hbttn = Hbttn*2;
Wbttn = Wbttn*1.2;
Hbttn = Hbttn*1.2;


% Figure size and position 
if strcmpi(selectionStyle, 'radiobutton')
    Hc = 10;
    Hc = 7;
else
    Hc = 5;
    Hc = 4;
end
XtextOffset = Wtext/8;
Wfig = Wtext + 2*XtextOffset;

HfigBottom = nbttns * (Hbttn + HbttnGap) + Hc;
HfigTop = HtextGap0 + Htext + HtextGap;
Hfig = HfigTop + HfigBottom;

hf = figure('numbertitle', 'off', 'menubar','none', 'toolbar','none', 'name',title);
hf = figure('numbertitle', 'off', 'menubar','none', 'toolbar','none', 'name',title, 'resize','on');
%set(hf, 'visible','off');
set(hf, 'units','characters');

@@ -154,16 +161,15 @@ set(hf, 'position', posBox);
if strcmpi(selectionStyle, 'radiobutton')
    DispSaveCancelBttns(hf);
end
p = get(hf, 'position');
pF = get(hf, 'position');

YbttnStart = Htext + 2*HtextGap;
YbttnStart = Htext + HtextGap;

%fprintf('[ %0.1f, %0.1f, %0.1f, %0.1f ]\n', [XtextOffset, HfigBottom+HtextGap, Wtext, Htext]);
fprintf('Hfig = %0.1f, HtextGap0 = \n', p(4)-(HtextGap0+Htext));
ht = uicontrol('parent',hf, 'style','text', 'units','characters', 'string',msg, ...
    'position',[XtextOffset, p(4)-(HtextGap0+Htext), Wtext, Htext], 'horizontalalignment','left');
ht = uicontrol('parent',hf, 'style','text', 'units','characters', 'string',msg, 'fontsize',fs(1), ...
    'position',[XtextOffset, pF(4)-(HtextGap0+Htext), Wtext, Htext], 'horizontalalignment','left', ...
    'userdata',2);    
for k = 1:nbttns
    Ypfk = Hfig - (YbttnStart + k*(Hbttn+HbttnGap));
    Ypfk = pF(4) - (YbttnStart + k*(Hbttn+HbttnGap));
    p = [XbttnOffset, Ypfk, Wbttn, Hbttn];    
    if k > (nbttns-ncheckboxes)
        val = GetCheckboxValue(k, nbttns, ncheckboxes, options);
@@ -175,13 +181,13 @@ for k = 1:nbttns
    else
        if strcmpi(selectionStyle, 'radiobutton')
            hb = uicontrol('parent',hf, 'style',selectionStyle, 'string','', 'units','characters', 'position',[p(1), p(2), 4, p(4)], ...
                'tag',sprintf('%d', k), 'callback',@pushbuttonGroup_Callback);
                'tag',sprintf('%d', k), 'callback',@pushbuttonGroup_Callback,  'backgroundcolor',[0.80, 0.80, 0.80]);
            
            uicontrol('parent',hf, 'style','text', 'string',bttns{k}, 'units','characters', 'position',[p(1)+4, p(2), p(3), p(4)], ...
                'horizontalalignment','left', 'fontsize',8);
                'horizontalalignment','left', 'fontsize',fs(2), 'userdata',2, 'backgroundcolor',[1.0, 1.0, 1.0]);
        else
            uicontrol('parent',hf, 'style',selectionStyle, 'string',bttns{k}, 'units','characters', 'position',[p(1), p(2), p(3), p(4)+Hbttn/2], ...
                'tag',sprintf('%d', k), 'callback',@pushbuttonGroup_Callback);
                'tag',sprintf('%d', k), 'fontsize',fs(2), 'callback',@pushbuttonGroup_Callback, 'userdata',2, 'backgroundcolor',[1.0, 1.0, 1.0]);
        end
    end
end
@@ -195,6 +201,7 @@ set(hf, 'visible','on', 'units','normalized', 'position',p);

% Change units back to characters
set(hf, 'units','characters');
normalizeObjPos(hf);

% Wait for user to respond before exiting
t = 0;
@@ -226,6 +233,8 @@ end





% -------------------------------------------------------------
function pushbuttonGroup_Callback(hObject, ~, ~)
global bttnIds
@@ -421,3 +430,13 @@ function cfgExit(~,~)
close;



% -------------------------------------------------------------
function normalizeObjPos(hf)
hc = get(hf, 'children');
for ii = 1:length(hc)
    set(hc(ii), 'units','normalized');
end


+1 −1
Original line number Diff line number Diff line
1.4.2
 No newline at end of file
1.4.6
 No newline at end of file
+12 −9
Original line number Diff line number Diff line
@@ -113,7 +113,10 @@ cfgGui.xsizeBttn = 25*fx;
cfgGui.ysizeGap = 1*fy;
cfgGui.xsizeGap = 2*fx;

cfgGui.fontsizeVals = 9;
cfgGui.fontsizes = [15, 11, 10, 9];
if ismac()
    cfgGui.fontsizes = cfgGui.fontsizes+4;
end
cfgGui.posParam     = [.10,.10,.80,.80];

cfgGui.options = options;
@@ -194,14 +197,14 @@ for i = 1:cfgGui.ncols
        ip = cfgGui.nParamsPerCol*(i-1) + j;
        if ip>np
            if np==0
                uicontrol(hf, 'Style','text', 'string','CONFIG FILE IS EMPTY', 'FontSize',11, ...
                uicontrol(hf, 'Style','text', 'string','CONFIG FILE IS EMPTY', 'FontSize',cfgGui.fontsizes(2), ...
                          'fontweight','bold', 'units',cfgGui.units, 'Position',posPanel, 'foregroundcolor',[.6,.3,.1]);
            end
            break;
        end

        % Draw param panel
        hp(ip) = uipanel('parent',hf, 'Title',cfgGui.filedata.GetParamName(ip), 'FontSize',10, 'fontweight','bold', 'foregroundcolor',[.6,.3,.1], ...
        hp(ip) = uipanel('parent',hf, 'Title',cfgGui.filedata.GetParamName(ip), 'FontSize',cfgGui.fontsizes(3), 'fontweight','bold', 'foregroundcolor',[.6,.3,.1], ...
            'units',cfgGui.units, 'Position',posPanel);        
        
        % Draw param values control within panel. Note all controls have same relative position within panel 
@@ -210,11 +213,11 @@ for i = 1:cfgGui.ncols
            pval = '';
        end
        if isempty(cfgGui.filedata.GetParamValueOptions(ip))
            hv = uicontrol(hp(ip), 'Style','edit', 'string',pval, 'FontSize',cfgGui.fontsizeVals, 'fontweight','bold', 'Tag',cfgGui.filedata.GetParamName(ip), ...
            hv = uicontrol(hp(ip), 'Style','edit', 'string',pval, 'FontSize',cfgGui.fontsizes(4), 'fontweight','bold', 'Tag',cfgGui.filedata.GetParamName(ip), ...
                           'units','normalized', 'position',cfgGui.posParam);
        else
            hv = uicontrol(hp(ip), 'Style','popupmenu', 'string',cfgGui.filedata.GetParamValueOptions(ip), ...
                'FontSize',cfgGui.fontsizeVals, 'fontweight','bold', 'Tag',cfgGui.filedata.GetParamName(ip), ...
                           'FontSize',cfgGui.fontsizes(4), 'fontweight','bold', 'Tag',cfgGui.filedata.GetParamName(ip), ...
                           'units','normalized', 'position',cfgGui.posParam);
            k = find(strcmp(cfgGui.filedata.GetParamValueOptions(ip), pval));
            if isempty(k)
@@ -247,10 +250,10 @@ else
    k = 5;
end
xoffset = cfgGui.xsizeTotal/k;
hBttnSave = uicontrol(hf, 'Style','pushbutton', 'FontSize',15, 'Units',cfgGui.units, 'String','SAVE', ...
hBttnSave = uicontrol(hf, 'Style','pushbutton', 'FontSize',cfgGui.fontsizes(1), 'Units',cfgGui.units, 'String','SAVE', ...
    'Position', [xoffset, cfgGui.ysizeTotal-(cfgGui.ysizeParamsAll+cfgGui.ysizeParam), cfgGui.xsizeBttn, cfgGui.ysizeBttn]);
hBttnSave.Callback = @cfgSave;
hBttnExit = uicontrol(hf, 'Style','pushbutton', 'FontSize',15, 'Units',cfgGui.units, 'String','EXIT', ...
hBttnExit = uicontrol(hf, 'Style','pushbutton', 'FontSize',cfgGui.fontsizes(1), 'Units',cfgGui.units, 'String','EXIT', ...
    'Position', [cfgGui.xsizeTotal-(cfgGui.xsizeBttn+xoffset), cfgGui.ysizeTotal-(cfgGui.ysizeParamsAll+cfgGui.ysizeParam), cfgGui.xsizeBttn, cfgGui.ysizeBttn]);
hBttnExit.Callback = @cfgExit;
setappdata(hBttnSave, 'backgroundcolororiginal',hBttnSave.BackgroundColor); 
Loading