本文整理汇总了C++中CFX_WideStringArray类的典型用法代码示例。如果您正苦于以下问题:C++ CFX_WideStringArray类的具体用法?C++ CFX_WideStringArray怎么用?C++ CFX_WideStringArray使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CFX_WideStringArray类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FWL_GetApp
FX_BOOL CXFA_FFListBox::LoadWidget() {
CFWL_ListBox* pListBox = CFWL_ListBox::Create();
pListBox->Initialize();
pListBox->ModifyStyles(FWL_WGTSTYLE_VScroll | FWL_WGTSTYLE_NoBackground,
0xFFFFFFFF);
m_pNormalWidget = (CFWL_Widget*)pListBox;
IFWL_Widget* pWidget = m_pNormalWidget->GetWidget();
m_pNormalWidget->SetPrivateData(pWidget, this, NULL);
IFWL_NoteDriver* pNoteDriver = FWL_GetApp()->GetNoteDriver();
pNoteDriver->RegisterEventTarget(pWidget, pWidget);
m_pOldDelegate = m_pNormalWidget->SetDelegate(this);
m_pNormalWidget->LockUpdate();
CFX_WideStringArray wsLabelArray;
m_pDataAcc->GetChoiceListItems(wsLabelArray, FALSE);
int32_t iItems = wsLabelArray.GetSize();
for (int32_t i = 0; i < iItems; i++) {
pListBox->AddString(wsLabelArray[i]);
}
FX_DWORD dwExtendedStyle = FWL_STYLEEXT_LTB_ShowScrollBarFocus;
if (m_pDataAcc->GetChoiceListOpen() == XFA_ATTRIBUTEENUM_MultiSelect) {
dwExtendedStyle |= FWL_STYLEEXT_LTB_MultiSelection;
}
dwExtendedStyle |= GetAlignment();
m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF);
CFX_Int32Array iSelArray;
m_pDataAcc->GetSelectedItems(iSelArray);
int32_t iSelCount = iSelArray.GetSize();
for (int32_t j = 0; j < iSelCount; j++) {
FWL_HLISTITEM item = pListBox->GetItem(iSelArray[j]);
pListBox->SetSelItem(item, TRUE);
}
m_pNormalWidget->UnlockUpdate();
return CXFA_FFField::LoadWidget();
}
示例2: GetNames
void CFGAS_FontMgr::GetNames(const uint8_t* name_table,
CFX_WideStringArray& Names) {
if (!name_table)
return;
uint8_t* lpTable = (uint8_t*)name_table;
CFX_WideString wsFamily;
uint8_t* sp = lpTable + 2;
uint8_t* lpNameRecord = lpTable + 6;
uint16_t nNameCount = GetUInt16(sp);
uint8_t* lpStr = lpTable + GetUInt16(sp + 2);
for (uint16_t j = 0; j < nNameCount; j++) {
uint16_t nNameID = GetUInt16(lpNameRecord + j * 12 + 6);
if (nNameID != 1)
continue;
uint16_t nPlatformID = GetUInt16(lpNameRecord + j * 12 + 0);
uint16_t nNameLength = GetUInt16(lpNameRecord + j * 12 + 8);
uint16_t nNameOffset = GetUInt16(lpNameRecord + j * 12 + 10);
wsFamily.clear();
if (nPlatformID != 1) {
for (uint16_t k = 0; k < nNameLength / 2; k++) {
FX_WCHAR wcTemp = GetUInt16(lpStr + nNameOffset + k * 2);
wsFamily += wcTemp;
}
Names.Add(wsFamily);
continue;
}
for (uint16_t k = 0; k < nNameLength; k++) {
FX_WCHAR wcTemp = GetUInt8(lpStr + nNameOffset + k);
wsFamily += wcTemp;
}
Names.Add(wsFamily);
}
}
示例3: CFWL_ComboBox
bool CXFA_FFComboBox::LoadWidget() {
CFWL_ComboBox* pComboBox = new CFWL_ComboBox(GetFWLApp());
pComboBox->Initialize();
m_pNormalWidget = (CFWL_Widget*)pComboBox;
m_pNormalWidget->SetLayoutItem(this);
IFWL_Widget* pWidget = m_pNormalWidget->GetWidget();
CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver();
pNoteDriver->RegisterEventTarget(pWidget, pWidget);
m_pOldDelegate = m_pNormalWidget->GetDelegate();
m_pNormalWidget->SetDelegate(this);
m_pNormalWidget->LockUpdate();
CFX_WideStringArray wsLabelArray;
m_pDataAcc->GetChoiceListItems(wsLabelArray, false);
int32_t iItems = wsLabelArray.GetSize();
for (int32_t i = 0; i < iItems; i++) {
pComboBox->AddString(wsLabelArray[i].AsStringC());
}
CFX_Int32Array iSelArray;
m_pDataAcc->GetSelectedItems(iSelArray);
int32_t iSelCount = iSelArray.GetSize();
if (iSelCount > 0) {
pComboBox->SetCurSel(iSelArray[0]);
} else {
CFX_WideString wsText;
m_pDataAcc->GetValue(wsText, XFA_VALUEPICTURE_Raw);
pComboBox->SetEditText(wsText);
}
UpdateWidgetProperty();
m_pNormalWidget->UnlockUpdate();
return CXFA_FFField::LoadWidget();
}
示例4: PDF_GetPageText
void PDF_GetPageText(CFX_ByteStringArray& lines, CPDF_Document* pDoc, CPDF_Dictionary* pPage,
int iMinWidth, FX_DWORD flags)
{
lines.RemoveAll();
CFX_WideStringArray wlines;
PDF_GetPageText_Unicode(wlines, pDoc, pPage, iMinWidth, flags);
for (int i = 0; i < wlines.GetSize(); i ++) {
CFX_WideString wstr = wlines[i];
CFX_ByteString str;
for (int c = 0; c < wstr.GetLength(); c ++) {
str += CharFromUnicodeAlt(wstr[c], FXSYS_GetACP(), "?");
}
lines.Add(str);
}
}
示例5: PDF_GetPageText_Unicode
void PDF_GetPageText_Unicode(CFX_WideStringArray& lines, CPDF_Document* pDoc, CPDF_Dictionary* pPage,
int iMinWidth, FX_DWORD flags)
{
lines.RemoveAll();
if (pPage == NULL) {
return;
}
CPDF_Page page;
page.Load(pDoc, pPage);
CPDF_ParseOptions options;
options.m_bTextOnly = TRUE;
options.m_bSeparateForm = FALSE;
page.ParseContent(&options);
CFX_FloatRect page_bbox = page.GetPageBBox();
if (flags & PDF2TXT_AUTO_ROTATE) {
CheckRotate(page, page_bbox);
}
CTextPage texts;
texts.m_bAutoWidth = flags & PDF2TXT_AUTO_WIDTH;
texts.m_bKeepColumn = flags & PDF2TXT_KEEP_COLUMN;
texts.m_bBreakSpace = TRUE;
FX_POSITION pos = page.GetFirstObjectPosition();
while (pos) {
CPDF_PageObject* pObject = page.GetNextObject(pos);
if (!(flags & PDF2TXT_INCLUDE_INVISIBLE)) {
CFX_FloatRect rect(pObject->m_Left, pObject->m_Bottom, pObject->m_Right, pObject->m_Top);
if (!page_bbox.Contains(rect)) {
continue;
}
}
texts.ProcessObject(pObject);
}
texts.WriteOutput(lines, iMinWidth);
}
示例6: GetObjectMethods
void CJS_Runtime::GetObjectMethods(const CFX_WideString& sObjName, CFX_WideStringArray& array)
{
JSMethodSpec* pMethods = NULL;
int nSize = 0;
if (sObjName == CJS_App::m_pClassName)
CJS_App::GetMethods(pMethods, nSize);
else if (sObjName == CJS_Color::m_pClassName)
CJS_Color::GetMethods(pMethods, nSize);
else if (sObjName == L"this")
{
if (GetReaderDocument())
CJS_Document::GetMethods(pMethods, nSize);
else
CJS_App::GetMethods(pMethods, nSize);
}
else if (sObjName == CJS_Event::m_pClassName)
CJS_Event::GetMethods(pMethods, nSize);
else if (sObjName == CJS_Field::m_pClassName)
CJS_Field::GetMethods(pMethods, nSize);
else if (sObjName == CJS_Global::m_pClassName)
CJS_Global::GetMethods(pMethods, nSize);
else if (sObjName == CJS_Util::m_pClassName)
CJS_Util::GetMethods(pMethods, nSize);
for (int i=0; i<nSize; i++)
array.Add(pMethods[i].pName);
}
示例7: CFWL_ListBox
bool CXFA_FFListBox::LoadWidget() {
CFWL_ListBox* pListBox = new CFWL_ListBox(GetFWLApp());
pListBox->Initialize();
pListBox->ModifyStyles(FWL_WGTSTYLE_VScroll | FWL_WGTSTYLE_NoBackground,
0xFFFFFFFF);
m_pNormalWidget = (CFWL_Widget*)pListBox;
m_pNormalWidget->SetLayoutItem(this);
IFWL_Widget* pWidget = m_pNormalWidget->GetWidget();
CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver();
pNoteDriver->RegisterEventTarget(pWidget, pWidget);
m_pOldDelegate = m_pNormalWidget->GetDelegate();
m_pNormalWidget->SetDelegate(this);
m_pNormalWidget->LockUpdate();
CFX_WideStringArray wsLabelArray;
m_pDataAcc->GetChoiceListItems(wsLabelArray, false);
int32_t iItems = wsLabelArray.GetSize();
for (int32_t i = 0; i < iItems; i++) {
pListBox->AddString(wsLabelArray[i].AsStringC());
}
uint32_t dwExtendedStyle = FWL_STYLEEXT_LTB_ShowScrollBarFocus;
if (m_pDataAcc->GetChoiceListOpen() == XFA_ATTRIBUTEENUM_MultiSelect) {
dwExtendedStyle |= FWL_STYLEEXT_LTB_MultiSelection;
}
dwExtendedStyle |= GetAlignment();
m_pNormalWidget->ModifyStylesEx(dwExtendedStyle, 0xFFFFFFFF);
CFX_Int32Array iSelArray;
m_pDataAcc->GetSelectedItems(iSelArray);
int32_t iSelCount = iSelArray.GetSize();
for (int32_t j = 0; j < iSelCount; j++) {
CFWL_ListItem* item = pListBox->GetItem(iSelArray[j]);
pListBox->SetSelItem(item, true);
}
m_pNormalWidget->UnlockUpdate();
return CXFA_FFField::LoadWidget();
}
示例8: CFX_FormatString
FX_BOOL CXFA_LocaleValue::FormatPatterns(CFX_WideString& wsResult,
const CFX_WideString& wsFormat,
IFX_Locale* pLocale,
XFA_VALUEPICTURE eValueType) const {
wsResult.clear();
FX_BOOL bRet = FALSE;
CFX_FormatString* pFormat = nullptr;
if (m_pLocaleMgr)
pFormat = new CFX_FormatString(m_pLocaleMgr, FALSE);
CFX_WideStringArray wsPatterns;
pFormat->SplitFormatString(wsFormat, wsPatterns);
int32_t iCount = wsPatterns.GetSize();
for (int32_t i = 0; i < iCount; i++) {
bRet = FormatSinglePattern(wsResult, wsPatterns[i], pLocale, eValueType);
if (bRet) {
break;
}
}
pFormat->Release();
return bRet;
}
示例9: GetObjectConsts
void CJS_Runtime::GetObjectConsts(const CFX_WideString& sObjName, CFX_WideStringArray& array)
{
JSConstSpec* pConsts = NULL;
int nSize = 0;
if (sObjName == CJS_Border::m_pClassName)
CJS_Border::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Display::m_pClassName)
CJS_Display::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Font::m_pClassName)
CJS_Font::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Highlight::m_pClassName)
CJS_Highlight::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Position::m_pClassName)
CJS_Position::GetConsts(pConsts, nSize);
else if (sObjName == CJS_ScaleHow::m_pClassName)
CJS_ScaleHow::GetConsts(pConsts, nSize);
else if (sObjName == CJS_ScaleWhen::m_pClassName)
CJS_ScaleWhen::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Style::m_pClassName)
CJS_Style::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Zoomtype::m_pClassName)
CJS_Zoomtype::GetConsts(pConsts, nSize);
else if (sObjName == CJS_App::m_pClassName)
CJS_App::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Color::m_pClassName)
CJS_Color::GetConsts(pConsts, nSize);
else if (sObjName == L"this")
{
if (GetReaderDocument())
CJS_Document::GetConsts(pConsts, nSize);
else
CJS_App::GetConsts(pConsts, nSize);
}
if (sObjName == CJS_Event::m_pClassName)
CJS_Event::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Field::m_pClassName)
CJS_Field::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Global::m_pClassName)
CJS_Global::GetConsts(pConsts, nSize);
else if (sObjName == CJS_Util::m_pClassName)
CJS_Util::GetConsts(pConsts, nSize);
for (int i=0; i<nSize; i++)
array.Add(pConsts[i].pName);
}
示例10: WriteOutput
void CTextPage::WriteOutput(CFX_WideStringArray& lines, int iMinWidth)
{
FX_FLOAT lastheight = -1;
FX_FLOAT lastbaseline = -1;
FX_FLOAT MinLeftX = 1000000;
FX_FLOAT MaxRightX = 0;
int i;
for (i = 0; i < m_BaseLines.GetSize(); i ++) {
CTextBaseLine* pBaseLine = (CTextBaseLine*)m_BaseLines.GetAt(i);
FX_FLOAT leftx, rightx;
if (pBaseLine->GetWidth(leftx, rightx)) {
if (leftx < MinLeftX) {
MinLeftX = leftx;
}
if (rightx > MaxRightX) {
MaxRightX = rightx;
}
}
}
for (i = 0; i < m_BaseLines.GetSize(); i ++) {
CTextBaseLine* pBaseLine = (CTextBaseLine*)m_BaseLines.GetAt(i);
pBaseLine->MergeBoxes();
}
for (i = 1; i < m_BaseLines.GetSize(); i ++) {
CTextBaseLine* pBaseLine = (CTextBaseLine*)m_BaseLines.GetAt(i);
CTextBaseLine* pPrevLine = (CTextBaseLine*)m_BaseLines.GetAt(i - 1);
if (pBaseLine->CanMerge(pPrevLine)) {
pPrevLine->Merge(pBaseLine);
delete pBaseLine;
m_BaseLines.RemoveAt(i);
i --;
}
}
if (m_bAutoWidth) {
int* widths = FX_Alloc(int, m_BaseLines.GetSize());
if (widths) {
for (i = 0; i < m_BaseLines.GetSize(); i ++) {
widths[i] = 0;
CTextBaseLine* pBaseLine = (CTextBaseLine*)m_BaseLines.GetAt(i);
int TotalChars = 0;
FX_FLOAT TotalWidth = 0;
int minchars;
pBaseLine->CountChars(TotalChars, TotalWidth, minchars);
if (TotalChars) {
FX_FLOAT charwidth = TotalWidth / TotalChars;
widths[i] = (int)((MaxRightX - MinLeftX) / charwidth);
}
if (widths[i] > 1000) {
widths[i] = 1000;
}
if (widths[i] < minchars) {
widths[i] = minchars;
}
}
int AvgWidth = 0, widthcount = 0;
for (i = 0; i < m_BaseLines.GetSize(); i ++)
if (widths[i]) {
AvgWidth += widths[i];
widthcount ++;
}
AvgWidth = int((FX_FLOAT)AvgWidth / widthcount + 0.5);
int MaxWidth = 0;
for (i = 0; i < m_BaseLines.GetSize(); i ++)
if (MaxWidth < widths[i]) {
MaxWidth = widths[i];
}
if (MaxWidth > AvgWidth * 6 / 5) {
MaxWidth = AvgWidth * 6 / 5;
}
FX_Free(widths);
if (iMinWidth < MaxWidth) {
iMinWidth = MaxWidth;
}
}
}
for (i = 0; i < m_BaseLines.GetSize(); i ++) {
CTextBaseLine* pBaseLine = (CTextBaseLine*)m_BaseLines.GetAt(i);
pBaseLine->MergeBoxes();
}
if (m_bKeepColumn) {
FindColumns();
}
for (i = 0; i < m_BaseLines.GetSize(); i ++) {
CTextBaseLine* pBaseLine = (CTextBaseLine*)m_BaseLines.GetAt(i);
if (lastheight >= 0) {
FX_FLOAT dy = lastbaseline - pBaseLine->m_BaseLine;
if (dy >= (pBaseLine->m_MaxFontSizeV) * 1.5 || dy >= lastheight * 1.5) {
lines.Add(L"");
}
}
lastheight = pBaseLine->m_MaxFontSizeV;
lastbaseline = pBaseLine->m_BaseLine;
CFX_WideString str;
pBaseLine->WriteOutput(str, MinLeftX, MaxRightX - MinLeftX, iMinWidth);
lines.Add(str);
}
}
示例11: GetObjectNames
void CJS_Runtime::GetObjectNames(CFX_WideStringArray& array)
{
array.RemoveAll();
array.Add(CJS_Border::m_pClassName);
array.Add(CJS_Display::m_pClassName);
array.Add(CJS_Font::m_pClassName);
array.Add(CJS_Highlight::m_pClassName);
array.Add(CJS_Position::m_pClassName);
array.Add(CJS_ScaleHow::m_pClassName);
array.Add(CJS_ScaleWhen::m_pClassName);
array.Add(CJS_Style::m_pClassName);
array.Add(CJS_Zoomtype::m_pClassName);
array.Add(CJS_App::m_pClassName);
array.Add((FX_LPCWSTR)"this");
array.Add(CJS_Event::m_pClassName);
array.Add(CJS_Global::m_pClassName);
array.Add(CJS_Util::m_pClassName);
}