Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
f6a5b9f7
Commit
f6a5b9f7
authored
Apr 11, 2016
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Xtt, support for local language files for languages without any global language files
parent
d344e130
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
78 additions
and
18 deletions
+78
-18
src/lib/co/src/co_lng.cpp
src/lib/co/src/co_lng.cpp
+31
-17
xtt/lib/ge/src/ge_graph.cpp
xtt/lib/ge/src/ge_graph.cpp
+16
-0
xtt/lib/ge/src/ge_graph.h
xtt/lib/ge/src/ge_graph.h
+5
-0
xtt/lib/glow/src/glow_growctx.cpp
xtt/lib/glow/src/glow_growctx.cpp
+12
-0
xtt/lib/glow/src/glow_growctx.h
xtt/lib/glow/src/glow_growctx.h
+1
-1
xtt/lib/xtt/src/xtt_ge.cpp
xtt/lib/xtt/src/xtt_ge.cpp
+5
-0
xtt/lib/xtt/src/xtt_ge.h
xtt/lib/xtt/src/xtt_ge.h
+1
-0
xtt/lib/xtt/src/xtt_xnav_command.cpp
xtt/lib/xtt/src/xtt_xnav_command.cpp
+7
-0
No files found.
src/lib/co/src/co_lng.cpp
View file @
f6a5b9f7
...
...
@@ -379,6 +379,8 @@ bool Lng::read()
char
fname1
[
120
];
char
fname2
[
120
];
pwr_tStatus
sts
;
pwr_tStatus
basests
;
bool
first_set
=
true
;
if
(
tree
)
tree_DeleteTable
(
&
sts
,
tree
);
...
...
@@ -390,20 +392,21 @@ bool Lng::read()
strcpy
(
fname1
,
"$pwr_exe/en_us/xtt_lng.dat"
);
strcpy
(
fname2
,
"$pwr_exe/%s/xtt_lng.dat"
);
if
(
!
read_files
(
fname1
,
fname2
,
true
,
&
sts
))
return
false
;
if
(
read_files
(
fname1
,
fname2
,
true
,
&
base
sts
))
first_set
=
false
;
// Read project files
strcpy
(
fname1
,
"$pwrp_exe/xtt_lng_en_us.dat"
);
strcpy
(
fname2
,
"$pwrp_exe/xtt_lng_%s.dat"
);
if
(
!
read_files
(
fname1
,
fname2
,
false
,
&
sts
))
read_files
(
fname1
,
fname2
,
first_set
,
&
sts
);
if
(
EVEN
(
sts
)
&&
EVEN
(
basests
))
return
false
;
return
true
;
}
bool
Lng
::
read_files
(
char
*
fname1
,
char
*
fname2
,
bool
global
,
pwr_tStatus
*
sts
)
bool
Lng
::
read_files
(
char
*
fname1
,
char
*
fname2
,
bool
first_set
,
pwr_tStatus
*
sts
)
{
pwr_tFileName
filename1
,
filename2
;
...
...
@@ -425,7 +428,7 @@ bool Lng::read_files( char *fname1, char *fname2, bool global, pwr_tStatus *sts)
}
else
if
(
!
fp1
)
{
*
sts
=
LNG__FILE
;
return
global
?
false
:
tru
e
;
return
fals
e
;
}
ifstream
fp2
(
filename2
);
...
...
@@ -442,16 +445,16 @@ bool Lng::read_files( char *fname1, char *fname2, bool global, pwr_tStatus *sts)
}
else
if
(
!
fp2
)
{
*
sts
=
LNG__FILE
;
return
global
?
false
:
tru
e
;
return
fals
e
;
}
Row
r1
(
fp1
,
filename1
);
Row
r2
(
fp2
,
filename2
);
read_metadata
(
fp1
,
global
,
sts
);
read_metadata
(
fp2
,
global
,
sts
);
read_metadata
(
fp1
,
first_set
,
sts
);
read_metadata
(
fp2
,
first_set
,
sts
);
read_include
(
fp1
,
fp2
,
global
,
sts
);
read_include
(
fp1
,
fp2
,
false
,
sts
);
bool
hit
=
true
;
for
(;;)
{
...
...
@@ -623,13 +626,24 @@ bool Lng::is_installed( lng_eLanguage language)
dcli_search_file
(
fname
,
found_file
,
DCLI_DIR_SEARCH_END
);
if
(
ODD
(
sts
))
return
true
;
// Try local translation file on $pwrp_exe also
strcpy
(
fname
,
"$pwrp_exe/xtt_lng_"
);
strcat
(
fname
,
lang_to_str
(
language
));
strcat
(
fname
,
".dat"
);
dcli_translate_filename
(
fname
,
fname
);
sts
=
dcli_search_file
(
fname
,
found_file
,
DCLI_DIR_SEARCH_INIT
);
dcli_search_file
(
fname
,
found_file
,
DCLI_DIR_SEARCH_END
);
if
(
ODD
(
sts
))
return
true
;
return
false
;
}
void
Lng
::
read_metadata
(
ifstream
&
fp2
,
bool
global
,
pwr_tStatus
*
sts
)
void
Lng
::
read_metadata
(
ifstream
&
fp2
,
bool
first_set
,
pwr_tStatus
*
sts
)
{
char
line
[
4
0
];
char
line
[
20
0
];
for
(;;)
{
if
(
!
fp2
.
getline
(
line
,
sizeof
(
line
)))
{
...
...
@@ -641,20 +655,20 @@ void Lng::read_metadata( ifstream& fp2, bool global, pwr_tStatus *sts)
}
if
(
strncmp
(
line
,
"Coding:UTF-8"
,
12
)
==
0
)
{
if
(
global
)
if
(
first_set
)
translfile_coding
=
lng_eCoding_UTF_8
;
else
if
(
translfile_coding
!=
lng_eCoding_UTF_8
)
*
sts
=
LNG__DIFFCODING
;
}
else
if
(
strncmp
(
line
,
"Coding:ISO8859-1"
,
16
)
==
0
)
{
if
(
global
)
if
(
first_set
)
translfile_coding
=
lng_eCoding_ISO8859_1
;
else
if
(
translfile_coding
!=
lng_eCoding_ISO8859_1
)
*
sts
=
LNG__DIFFCODING
;
}
else
{
fp2
.
seekg
(
0
,
ios
::
beg
);
if
(
global
)
if
(
first_set
)
translfile_coding
=
lng_eCoding_ISO8859_1
;
else
if
(
translfile_coding
!=
lng_eCoding_ISO8859_1
)
*
sts
=
LNG__DIFFCODING
;
...
...
@@ -662,7 +676,7 @@ void Lng::read_metadata( ifstream& fp2, bool global, pwr_tStatus *sts)
*
sts
=
LNG__SUCCESS
;
}
void
Lng
::
read_include
(
ifstream
&
fp1
,
ifstream
&
fp2
,
bool
global
,
pwr_tStatus
*
sts
)
void
Lng
::
read_include
(
ifstream
&
fp1
,
ifstream
&
fp2
,
bool
first_set
,
pwr_tStatus
*
sts
)
{
char
line1
[
200
];
char
line2
[
200
];
...
...
@@ -697,7 +711,7 @@ void Lng::read_include( ifstream& fp1, ifstream& fp2, bool global, pwr_tStatus *
dcli_trim
(
fname1
,
&
line1
[
8
]);
dcli_trim
(
fname2
,
&
line2
[
8
]);
if
(
!
read_files
(
fname1
,
fname2
,
global
,
sts
))
if
(
!
read_files
(
fname1
,
fname2
,
first_set
,
sts
))
return
;
}
else
{
...
...
xtt/lib/ge/src/ge_graph.cpp
View file @
f6a5b9f7
...
...
@@ -5599,6 +5599,22 @@ char *Graph::get_next_object_name( const char *prefix, const char *suffix)
return
name
;
}
void
Graph
::
set_text_coding
(
lng_eCoding
coding
)
{
glow_eTextCoding
c
;
switch
(
coding
)
{
case
lng_eCoding_ISO8859_1
:
c
=
glow_eTextCoding_ISO8859_1
;
break
;
case
lng_eCoding_UTF_8
:
c
=
glow_eTextCoding_UTF_8
;
break
;
}
grow_SetTextCoding
(
grow
->
base_ctx
(),
c
);
}
static
void
graph_free_dyn
(
grow_tObject
object
)
{
if
(
grow_GetObjectType
(
object
)
==
glow_eObjectType_GrowNode
||
...
...
xtt/lib/ge/src/ge_graph.h
View file @
f6a5b9f7
...
...
@@ -44,6 +44,9 @@
#ifndef pwr_h
# include "pwr.h"
#endif
#ifndef co_lng_h
# include "co_lng.h"
#endif
#ifndef glow_h
#include "glow.h"
#endif
...
...
@@ -1392,6 +1395,8 @@ class Graph {
char
*
get_next_object_name
(
const
char
*
prefix
,
const
char
*
suffix
);
void
set_text_coding
(
lng_eCoding
coding
);
static
int
get_colortheme_colors
(
char
*
file
,
double
**
colors
,
int
*
size
);
//! Enable event logging
...
...
xtt/lib/glow/src/glow_growctx.cpp
View file @
f6a5b9f7
...
...
@@ -4764,3 +4764,15 @@ int GrowCtx::check_object_name( char *name)
return
GLOW__SUCCESS
;
}
void
GrowCtx
::
set_text_coding
(
glow_eTextCoding
coding
)
{
text_coding
=
coding
;
// Set for subwindow
for
(
int
i
=
0
;
i
<
a
.
a_size
;
i
++
)
{
if
(
a
[
i
]
->
type
()
==
glow_eObjectType_GrowWindow
||
a
[
i
]
->
type
()
==
glow_eObjectType_GrowFolder
)
((
GrowWindow
*
)
a
[
i
])
->
window_ctx
->
set_text_coding
(
coding
);
}
}
xtt/lib/glow/src/glow_growctx.h
View file @
f6a5b9f7
...
...
@@ -885,7 +885,7 @@ class GrowCtx : public GlowCtx {
double
*
ur_x
,
double
*
ur_y
);
void
pop
(
GlowArrayElem
*
element
)
{
a
.
pop
(
element
);}
void
set_text_coding
(
glow_eTextCoding
coding
)
{
text_coding
=
coding
;}
void
set_text_coding
(
glow_eTextCoding
coding
)
;
void
set_edit_set_mode
(
glow_eEditSetMode
mode
)
{
edit_set_mode
=
mode
;}
int
set_custom_color
(
glow_eDrawType
color
,
double
red
,
double
green
,
double
blue
);
void
reset_custom_colors
();
...
...
xtt/lib/xtt/src/xtt_ge.cpp
View file @
f6a5b9f7
...
...
@@ -254,6 +254,11 @@ void XttGe::event_exec( int type, void *event, unsigned int size)
}
}
void
XttGe
::
set_text_coding
(
lng_eCoding
coding
)
{
graph
->
set_text_coding
(
coding
);
}
XttGe
::
XttGe
(
void
*
xg_parent_ctx
,
const
char
*
xg_name
,
const
char
*
xg_filename
,
int
xg_scrollbar
,
int
xg_menu
,
int
xg_navigator
,
int
xg_width
,
int
xg_height
,
int
x
,
int
y
,
double
scan_time
,
const
char
*
object_name
,
...
...
xtt/lib/xtt/src/xtt_ge.h
View file @
f6a5b9f7
...
...
@@ -97,6 +97,7 @@ class XttGe {
void
swap
(
int
mode
);
void
update_color_theme
(
int
color_theme
);
void
event_exec
(
int
type
,
void
*
event
,
unsigned
int
size
);
void
set_text_coding
(
lng_eCoding
coding
);
static
void
graph_init_cb
(
void
*
client_data
);
static
int
graph_close_cb
(
void
*
client_data
);
...
...
xtt/lib/xtt/src/xtt_xnav_command.cpp
View file @
f6a5b9f7
...
...
@@ -1039,6 +1039,7 @@ static int xnav_set_func( void *client_data,
else
if
(
cdh_NoCaseStrncmp
(
arg1_str
,
"LANGUAGE"
,
strlen
(
arg1_str
))
==
0
)
{
char
language_str
[
80
];
ApplListElem
*
elem
;
// Command is "SET LANGUAGE"
if
(
EVEN
(
dcli_get_qualifier
(
"dcli_arg2"
,
language_str
,
sizeof
(
language_str
))))
{
...
...
@@ -1047,6 +1048,12 @@ static int xnav_set_func( void *client_data,
}
cdh_ToLower
(
language_str
,
language_str
);
Lng
::
set
(
language_str
);
// Set new coding to all graphs
for
(
elem
=
xnav
->
appl
.
root
;
elem
;
elem
=
elem
->
next
)
{
if
(
elem
->
type
==
applist_eType_Graph
)
((
XttGe
*
)
elem
->
ctx
)
->
set_text_coding
(
Lng
::
translatefile_coding
());
}
}
else
if
(
cdh_NoCaseStrncmp
(
arg1_str
,
"NORATIO"
,
strlen
(
arg1_str
))
==
0
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment