Database tüddelei DBHanlder läuft gut für DIESE Datanbank struktur... App begonnen aber weit entfernt von gutem Stand
100 lines
4.0 KiB
Matlab
100 lines
4.0 KiB
Matlab
function [orig] = initializeGlobalState()
|
|
% Initialize global state. Set working directory and various properties of
|
|
% the graphical root to ensure reliable output of the ACID testsuite.
|
|
% See #542 and #552
|
|
%
|
|
% 1. Working directory
|
|
% 2. Bring get(0,'Default') in line with get(0,'Factory')
|
|
% 3. Set specific properties, required by matlab2tikz
|
|
fprintf('Initialize global state...\n');
|
|
orig = struct();
|
|
|
|
%--- Extract user defined default properties and set factory state
|
|
default = get(0,'Default');
|
|
factory = get(0,'Factory');
|
|
|
|
f = fieldnames(default); % fields of user's default state
|
|
for i = 1:length(f)
|
|
factory_property_name = strrep(f{i},'default','factory');
|
|
factory_property_value = factory.(factory_property_name);
|
|
orig.(f{i}).val = ...
|
|
swapPropertyState(0, f{i}, factory_property_value);
|
|
end
|
|
|
|
%--- Define desired global state properties
|
|
% defaultAxesColorOrder: on HG1 'default' and 'factory' differ and
|
|
% HG1 differs from HG2. Consequently use HG2 colors (the new standard).
|
|
new.defaultAxesColorOrder.val = [0.000 0.447 0.741; ...
|
|
0.850 0.325 0.098; ...
|
|
0.929 0.694 0.125; ...
|
|
0.494 0.184 0.556; ...
|
|
0.466 0.674 0.188; ...
|
|
0.301 0.745 0.933; ...
|
|
0.635 0.0780 0.184];
|
|
new.defaultAxesColorOrder.ignore= false;
|
|
|
|
% defaultFigurePosition: width and height influence cleanfigure() and
|
|
% the number/location of axis ticks
|
|
new.defaultFigurePosition.val = [300,200,560,420];
|
|
new.defaultFigurePosition.ignore= false;
|
|
|
|
% ScreenPixelsPerInch: TODO: determine, if necessary
|
|
% (probably needed for new line simplification algorithm)
|
|
% not possible in octave
|
|
new.ScreenPixelsPerInch.val = 96;
|
|
new.ScreenPixelsPerInch.ignore = strcmpi(getEnvironment,'octave');
|
|
|
|
% MATLAB's factory values differ from their default values of a clean
|
|
% MATLAB installation (observed on R2014a, Linux)
|
|
new.defaultAxesColor.val = [1 1 1];
|
|
new.defaultAxesColor.ignore = false;
|
|
new.defaultLineColor.val = [0 0 0];
|
|
new.defaultLineColor.ignore = false;
|
|
new.defaultTextColor.val = [0 0 0];
|
|
new.defaultTextColor.ignore = false;
|
|
new.defaultAxesXColor.val = [0 0 0];
|
|
new.defaultAxesXColor.ignore = false;
|
|
new.defaultAxesYColor.val = [0 0 0];
|
|
new.defaultAxesYColor.ignore = false;
|
|
new.defaultAxesZColor.val = [0 0 0];
|
|
new.defaultAxesZColor.ignore = false;
|
|
new.defaultFigureColor.val = [0.8 0.8 0.8];
|
|
new.defaultFigureColor.ignore = false;
|
|
new.defaultPatchEdgeColor.val = [0 0 0];
|
|
new.defaultPatchEdgeColor.ignore = false;
|
|
new.defaultPatchFaceColor.val = [0 0 0];
|
|
new.defaultPatchFaceColor.ignore = false;
|
|
new.defaultFigurePaperType.val = 'A4';
|
|
new.defaultFigurePaperType.ignore = false;
|
|
new.defaultFigurePaperSize.val = [20.9840 29.6774];
|
|
new.defaultFigurePaperSize.ignore = false;
|
|
new.defaultFigurePaperUnits.val = 'centimeters';
|
|
new.defaultFigurePaperUnits.ignore = false;
|
|
|
|
%--- Extract relevant properties and set desired state
|
|
f = fieldnames(new); % fields of new state
|
|
for i = 1:length(f)
|
|
% ignore property on specified environments
|
|
if ~new.(f{i}).ignore
|
|
val = swapPropertyState(0, f{i}, new.(f{i}).val);
|
|
|
|
% store original value only, if not set by user's defaults
|
|
if ~isfield(orig,f{i})
|
|
orig.(f{i}).val = val;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
% =========================================================================
|
|
function old = swapPropertyState(h, property, new)
|
|
% read current property of graphical object
|
|
% set new value, if not empty
|
|
if nargin < 3, new = []; end
|
|
|
|
old = get(h, property);
|
|
|
|
if ~isempty(new)
|
|
set(h, property, new);
|
|
end
|
|
end
|