function maximize(h)
% MAXIMIZE maximize figure windows
% ====================================================================
%
% Berne University of Applied Sciences
%
% School of Engineering and Information Technology
% Division of Electrical- and Communication Engineering
%
% ====================================================================
% maximize figure windows
% ====================================================================
%
% Author: Alain Trostel
% e-mail: alain.trostel@bfh.ch
% Date: June 2007
% Version: 4.1
%
% ====================================================================
%
% function maximize(h)
%
% Input parameters
% -----------------
% h handle(s) of the figure window
%
%
% Output parameters
% ------------------
% The function has no output parameters.
%
%
% Used files
% -----------
% - windowMaximize.dll
%
%
% Examples
% ---------
% % maximize the current figure
% ------------------------------
% maximize;
%
%
% % maximize the current figure
% ------------------------------
% maximize(gcf);
%
%
% % maximize the specified figure
% --------------------------------
% h = figure;
% maximize(h);
%
%
% % maximize the application window
% ----------------------------------
% maximize(0);
%
%
% % maximize more than one figure
% --------------------------------
% h(1) = figure;
% h(2) = figure;
% maximize(h);
%
%
% % maximize all figures
% -----------------------
% maximize('all');
%
%
% % maximize a GUI in the OpeningFcn
% -----------------------------------
%
% % --- Executes just before untitled is made visible.
% function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% % This function has no output args, see OutputFcn.
% % hObject handle to figure
% % eventdata reserved - to be defined in a future version of MATLAB
% % handles structure with handles and user data (see GUIDATA)
% % varargin command line arguments to untitled (see VARARGIN)
%
% % Choose default command line output for untitled
% handles.output = hObject;
%
% % Update handles structure
% guidata(hObject, handles);
%
% % UIWAIT makes untitled wait for user response (see UIRESUME)
% % uiwait(handles.figure1);
%
% % maximize the GUI
% set(hObject,'Visible','on');
% maximize(hObject);
% check if dll-file exists
if ~exist('windowMaximize.dll','file')
error('windowMaximize.dll not found.');
end
% if no input parameters, get handle of the current figure
if nargin == 0
h = gcf;
end
% if one input parameter, check the input parameter
if ischar(h)
% check the string
if strcmpi(h,'all')
% get all figure handles
h = findobj('Type','figure');
else
% incorrect string argument
error('Argument must be the correct string.');
end
else
% check each handle
for n=1:length(h)
% it must be a handle and of type 'root' or 'figure'
if ~ishandle(h(n)) || (~strcmp(get(h(n),'Type'),'root') && ...
~strcmp(get(h(n),'Type'),'figure'))
% incorrect handle
error('Argument(s) must be a correct handle(s).');
end
end
end
% if handle is not the root
if h ~= 0
% for each handle
for n=length(h):-1:1
% create the temporary window name
windowname = ['maximize_',num2str(h(n))];
% save current window name
numTitle = get(h(n),'NumberTitle');
figName = get(h(n),'Name');
% set the temporary window name
set(h(n),'Name',windowname,'NumberTitle','off');
% draw figure now
drawnow;
% maximize the window with the C function
windowMaximize(windowname,get(h(n),'Resize'));
% reset the window name
set(h(n),'Name',figName,'NumberTitle',numTitle);
end
else
% maximize the application window "MATLAB"
windowMaximize('MATLAB');
end