Use i18n calls for treeview strings.
git-svn-id: svn://10.0.0.236/trunk@12619 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
f3d1e1ef76
commit
83752c0f9f
@ -31,6 +31,11 @@
|
||||
#include "xpgetstr.h"
|
||||
#include "RDFImage.h"
|
||||
|
||||
#include "felocale.h" // fe_ConvertToXmString()
|
||||
#include "RDFUtils.h"
|
||||
|
||||
|
||||
|
||||
#include <XmL/Tree.h>
|
||||
#include <Xfe/Xfe.h>
|
||||
|
||||
@ -661,21 +666,17 @@ XFE_RDFTreeView::add_row(int row)
|
||||
}
|
||||
|
||||
void
|
||||
XFE_RDFTreeView::add_row
|
||||
(HT_Resource node)
|
||||
XFE_RDFTreeView::add_row(HT_Resource node)
|
||||
{
|
||||
//HT_Resource node = GetNthItem (_ht_view, row);
|
||||
int row = HT_GetNodeIndex(_ht_view, node);
|
||||
char *name = HT_GetNodeName(node);
|
||||
int depth = HT_GetItemIndentation(node);
|
||||
Boolean expands = HT_IsContainer(node);
|
||||
Boolean isExpanded = HT_IsContainerOpen(node);
|
||||
|
||||
/*D( fprintf(stderr,"XFE_RDFTreeView::add_row(0x%x %d) name(%s) depth(%d)\n",
|
||||
node,row, name, depth);)*/
|
||||
Pixmap pixmap, mask;
|
||||
|
||||
#if 0
|
||||
#if DEBUG_mcafeexxx
|
||||
// Using this for debugging. -mcafee
|
||||
static PRBool firstRow = PR_TRUE;
|
||||
|
||||
@ -687,8 +688,6 @@ XFE_RDFTreeView::add_row
|
||||
}
|
||||
#endif
|
||||
|
||||
//pixmap = XmUNSPECIFIED_PIXMAP;
|
||||
//pixmask = XmUNSPECIFIED_PIXMAP;
|
||||
if (expands && isExpanded) {
|
||||
pixmap = openedFolder.pixmap;
|
||||
mask = openedFolder.mask;
|
||||
@ -700,68 +699,76 @@ XFE_RDFTreeView::add_row
|
||||
mask = bookmark.mask;
|
||||
}
|
||||
|
||||
XmString xmstr = XmStringCreateSimple(name);
|
||||
|
||||
XmLTreeAddRow(_tree,
|
||||
depth,
|
||||
expands,
|
||||
isExpanded,
|
||||
row,
|
||||
pixmap,
|
||||
mask,
|
||||
xmstr);
|
||||
|
||||
XmStringFree(xmstr);
|
||||
XmLTreeAddRow(_tree, depth, expands, isExpanded, row, pixmap, mask, NULL);
|
||||
|
||||
int column_count;
|
||||
// Should only need to do this for visible columns
|
||||
XtVaGetValues(_tree, XmNcolumns, &column_count, NULL);
|
||||
void *data;
|
||||
for (int ii = 0; ii < column_count; ii++)
|
||||
{
|
||||
XFE_ColumnData *column_data = getColumnData(ii);
|
||||
|
||||
if (column_data)
|
||||
{
|
||||
Boolean is_editable = False;
|
||||
if (isStandAlone())
|
||||
{
|
||||
is_editable = HT_IsNodeDataEditable(node,
|
||||
column_data->token,
|
||||
column_data->token_type);
|
||||
}
|
||||
XtVaSetValues(_tree,
|
||||
XmNrow, row,
|
||||
XmNcolumn, ii,
|
||||
XmNcellEditable, is_editable,
|
||||
NULL);
|
||||
initCell(node, row, ii);
|
||||
}
|
||||
}
|
||||
|
||||
if (HT_GetNodeData (node, column_data->token,
|
||||
column_data->token_type, &data)
|
||||
&& data)
|
||||
// Format the label of a cell
|
||||
// Also set whether it is editable.
|
||||
void
|
||||
XFE_RDFTreeView::initCell(HT_Resource node, int row, int column)
|
||||
{
|
||||
XFE_ColumnData *column_data = getColumnData(column);
|
||||
|
||||
XP_ASSERT(column_data);
|
||||
if (!column_data) return;
|
||||
|
||||
// Set editing behavior
|
||||
//
|
||||
Boolean is_editable = False;
|
||||
if (isStandAlone())
|
||||
{
|
||||
is_editable = HT_IsNodeDataEditable(node, column_data->token,
|
||||
column_data->token_type);
|
||||
}
|
||||
|
||||
// Set the label.
|
||||
//
|
||||
XmString xmstr = NULL;
|
||||
int16 charset = INTL_DefaultWinCharSetID(m_contextData);
|
||||
|
||||
if (column == 0)
|
||||
{
|
||||
xmstr = XFE_RDFUtils::formatItem(node, charset);
|
||||
}
|
||||
else
|
||||
{
|
||||
void *data;
|
||||
if (HT_GetNodeData(node, column_data->token, column_data->token_type,
|
||||
&data) && data)
|
||||
{
|
||||
char buffer[1024];
|
||||
|
||||
switch (column_data->token_type)
|
||||
{
|
||||
time_t dateVal;
|
||||
struct tm* time;
|
||||
char buffer[200];
|
||||
|
||||
switch (column_data->token_type)
|
||||
{
|
||||
case HT_COLUMN_DATE_INT:
|
||||
case HT_COLUMN_INT:
|
||||
sprintf(buffer,"%d",(int)data);
|
||||
break;
|
||||
case HT_COLUMN_DATE_STRING:
|
||||
case HT_COLUMN_STRING:
|
||||
strcpy(buffer, (char*)data);
|
||||
break;
|
||||
}
|
||||
XmLGridSetStringsPos(_tree,
|
||||
XmCONTENT, row,
|
||||
XmCONTENT, ii,
|
||||
buffer);
|
||||
case HT_COLUMN_DATE_INT:
|
||||
case HT_COLUMN_INT:
|
||||
sprintf(buffer,"%d",(int)data);
|
||||
break;
|
||||
case HT_COLUMN_DATE_STRING:
|
||||
case HT_COLUMN_STRING:
|
||||
strcpy(buffer, (char*)data);
|
||||
break;
|
||||
}
|
||||
XmFontList font_list;
|
||||
xmstr = fe_ConvertToXmString ((unsigned char *) buffer, charset,
|
||||
NULL, XmFONT_IS_FONT, &font_list);
|
||||
}
|
||||
}
|
||||
XtVaSetValues(_tree,
|
||||
XmNrow, row,
|
||||
XmNcolumn, column,
|
||||
XmNcellString, xmstr,
|
||||
XmNcellEditable, is_editable,
|
||||
NULL);
|
||||
if (xmstr)
|
||||
XmStringFree(xmstr);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@ -124,6 +124,9 @@ private:
|
||||
|
||||
void init_pixmaps();
|
||||
|
||||
// Set editing behavior and label.
|
||||
void initCell(HT_Resource node, int row, int column);
|
||||
|
||||
void fill_tree();
|
||||
void destroy_tree();
|
||||
|
||||
|
||||
@ -299,14 +299,16 @@ XFE_RDFUtils::entryToXmString(HT_Resource entry,
|
||||
XmString tmp;
|
||||
char * psz;
|
||||
|
||||
tmp = XFE_RDFUtils::formatItem(entry,INTL_DefaultWinCharSetID(NULL));
|
||||
int16 charset = INTL_GetCSIWinCSID(char_set_info);
|
||||
|
||||
tmp = XFE_RDFUtils::formatItem(entry,charset);
|
||||
|
||||
// Mid truncate the name
|
||||
if (XmStringGetLtoR(tmp,XmSTRING_DEFAULT_CHARSET,&psz))
|
||||
{
|
||||
XmStringFree(tmp);
|
||||
|
||||
INTL_MidTruncateString(INTL_GetCSIWinCSID(char_set_info),psz,psz,40);
|
||||
INTL_MidTruncateString(charset, psz, psz, 40);
|
||||
|
||||
result = XmStringCreateLtoR(psz,XmSTRING_DEFAULT_CHARSET);
|
||||
|
||||
@ -324,7 +326,7 @@ XFE_RDFUtils::entryToXmString(HT_Resource entry,
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
/* static */ XmString
|
||||
XFE_RDFUtils::formatItem(HT_Resource entry,int16 charset)
|
||||
XFE_RDFUtils::formatItem(HT_Resource entry, int16 charset)
|
||||
{
|
||||
XmString xmstring;
|
||||
char buf [1024];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user