Newer
Older
function [ ] = main()
%MAIN Contains the definition of main ARTOA4 gui.
global artoaGui;
%% Initialize main window
artoaGui.figures.main = figure( ...
'Name', 'ARTOA 4', ...
'NumberTitle', 'off', ...
'Color', 'white', ...
'MenuBar', 'none', ...
'WindowKeyPressFcn', @artoa.controller.main.shortcuts ...
);
set(artoaGui.figures.main, 'CloseRequestFcn', 'artoa.controller.quit();');
%% Initialize file menu
artoaGui.main.menus = struct();
artoaGui.main.menus.file = uimenu(artoaGui.figures.main, 'Label', 'File');
% LOAD
loadHandle = uimenu(artoaGui.main.menus.file, 'Label', 'Load');
uimenu( ...
loadHandle, ...
'Label', 'ARGOS file', ...%'Callback', 'artoa.controller.loadArgos' ...
'Enable', 'off' ...
);
uimenu( ...
loadHandle, ...
'Label', 'RFB file', ...
);
uimenu( ...
loadHandle, ...
leprob001
committed
'Label', 'Interim file', ...
'Callback', 'artoa.controller.file.loadInterim();' ...
);
uimenu( ...
loadHandle, ...
'Label', 'SoSo file', ...
'Callback', 'artoa.controller.file.loadSoundSourceFile();' ...
artoaGui.main.menus.fileSave = uimenu( ...
artoaGui.main.menus.file, ...
'Label', 'Save', ...
'Enable', 'off' ...
);
artoaGui.main.menus.fileSave, ...
'Label', 'RIC file', ...
'Callback', 'artoa.controller.saveRic();', ...
'Enable', 'off' ...
);
leprob001
committed
uimenu( ...
artoaGui.main.menus.fileSave, ...
leprob001
committed
'Label', 'Interim file', ...
'Callback', 'artoa.controller.file.saveInterim();' ...
);
artoaGui.main.menus.fileReloadArtoaIni = uimenu( ...
artoaGui.main.menus.file, ...
'Label', 'Reload artoa.ini', ...
'Callback', 'artoa.controller.file.loadArtoaIni();' ...
% QUIT
artoaGui.main.menus.fileQuit = uimenu( ...
artoaGui.main.menus.file, ...
'Label', 'Quit', ...
'Callback', 'artoa.controller.quit();' ...
);
%% Initialize edit menu
artoaGui.main.menus.edit = uimenu( ...
artoaGui.figures.main, ...
'Label', 'Edit', ...
'Enable', 'off' ...
);
% TEMPERATURE
artoaGui.main.menus.editTemperature = uimenu( ...
artoaGui.main.menus.edit, ...
'Label', 'Temperature', ...
'Callback', 'artoa.controller.edit.temperature.open();' ...
);
% PRESSURE
leprob001
committed
artoaGui.main.menus.editPressure = uimenu( ...
artoaGui.main.menus.edit, ...
'Label', 'Pressure', ...
'Callback', 'artoa.controller.edit.pressure.open();' ...
);
% TIME OF ARRIVAL
artoaGui.main.menus.editTimeOfArrival = uimenu( ...
artoaGui.main.menus.edit, ...
'Label', 'Time of arrival', ...
'Callback', 'artoa.controller.edit.timeOfArrival.open();', ...
leprob001
committed
artoaGui.main.menus.editOffsetDetails = uimenu( ...
artoaGui.main.menus.edit, ...
'Label', 'Offset details', ...
'Callback', 'artoa.controller.edit.offsets.open();', ...
'Separator', 'on' ...
);
%% Initialize track menu
artoaGui.main.menus.track = uimenu( ...
artoaGui.figures.main, ...
'Label', 'Track', ...
'Enable', 'off' ...
);
% TRACK PARAMETER
artoaGui.main.menus.trackParameter = uimenu( ...
artoaGui.main.menus.track, ...
'Label', 'Track Parameter', ...
'Callback', 'artoa.controller.track.parameter.open();' ...
);
% TRAJECTORY OUTPUT
artoaGui.main.menus.trajectoryOutput = uimenu( ...
artoaGui.main.menus.track, ...
'Label', 'Trajectory output', ...
'Callback', 'artoa.controller.track.trajectoryOutput.open();' ...
);
%% Initialize view menu
artoaGui.main.menus.view = uimenu( ...
artoaGui.figures.main, ...
'Label', 'View', ...
'Enable', 'on' ...
);
artoaGui.main.menus.viewHideDeletedDataPoints = uimenu( ...
artoaGui.main.menus.view, ...
'Label', 'Hide deleted data points', ...
'Callback', 'artoa.controller.switchHideDeletedPoints();' ...
%% Initialize shortcut hints
shortcutHints = { ...
't', 'Open Edit temperature window';
'p', 'Open Edit pressure window';
'e', 'Open Edit time of arrival window';
'f', 'Open Edit offsets window';
'i', 'Open track parameter window';
'o', 'Open trajectory output window';
};
artoaGui.main.shortcutHints = uitable();
artoaGui.main.shortcutHints.Data = shortcutHints;
artoaGui.main.shortcutHints.Enable = 'off';
artoaGui.main.shortcutHints.ColumnName = {'Key', 'Action'};
artoaGui.main.shortcutHints.ColumnWidth = {50, 400};
artoaGui.main.shortcutHints.RowName = '';
artoaGui.main.shortcutHints.Units = 'normalized';
artoaGui.main.shortcutHints.Position = [.1 .5 .8 .3];
%% Version info
gitInfo = getGitInfo();
artoaGui.main.textVersionInfo = uicontrol( ...
'Parent', artoaGui.figures.main, ...
'String', ['Version 4.' gitInfo.hash(1:8)], ...
'Style', 'text', ...
'FontSize', 10, ...
'Units', 'normalized', ...
'Background', [1 1 1], ...
'Position', [.68 .03 .3 .05] ...
);