-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathptrLgSetUIStrings.m
47 lines (37 loc) · 1.6 KB
/
ptrLgSetUIStrings.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function ptrLgSetUIStrings (h)
global petraParams
%langStrings = petraParams.langStrings.(petraParams.opc.langSelected);
langStrings = petraParams.langStrings;
showMsg = false;
properties = {'String','Title','TooltipString','Name'};
for p=1:numel(properties)
property = properties{p};
lis = findobj(h, '-property', property);
for i=1:numel(lis)
try
value = get(lis(i), property);
if ~ischar(value), continue, end;
value = strtrim (value);
userData = get(lis(i), 'UserData');
if isempty(userData), userData = []; end
if numel(value) > 0 && strcmp(value(1),'$')
string = langStrings.(value(2:end));
set(lis(i), property, string);
userData.(['LangCode' property]) = value(2:end);
userData.(['LangValue' property]) = string;
set(lis(i), 'UserData', userData);
elseif isfield(userData,['LangCode' property]) && ...
strcmp(userData.(['LangValue' property]), value)
code = userData.(['LangCode' property]);
string = langStrings.(code);
set(lis(i), property, string);
userData.(['LangValue' property]) = string;
set(lis(i), 'UserData', userData);
end
catch e
showMsg = true;
end
end
end
if showMsg, ptrDlgMessage(langStrings.('all_lang_error')); end
end