Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2241)

Side by Side Diff: fpdfsdk/cpdfsdk_widget.cpp

Issue 2323493002: Pass CFX_WideString further down widget callers (Closed)
Patch Set: Fix comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/cpdfsdk_interform.cpp ('k') | fpdfsdk/cpdfsdk_widgethandler.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "fpdfsdk/include/cpdfsdk_widget.h" 7 #include "fpdfsdk/include/cpdfsdk_widget.h"
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 return m_bAppModified; 732 return m_bAppModified;
733 } 733 }
734 734
735 #ifdef PDF_ENABLE_XFA 735 #ifdef PDF_ENABLE_XFA
736 void CPDFSDK_Widget::ResetAppearance(FX_BOOL bValueChanged) { 736 void CPDFSDK_Widget::ResetAppearance(FX_BOOL bValueChanged) {
737 switch (GetFieldType()) { 737 switch (GetFieldType()) {
738 case FIELDTYPE_TEXTFIELD: 738 case FIELDTYPE_TEXTFIELD:
739 case FIELDTYPE_COMBOBOX: { 739 case FIELDTYPE_COMBOBOX: {
740 FX_BOOL bFormatted = FALSE; 740 FX_BOOL bFormatted = FALSE;
741 CFX_WideString sValue = OnFormat(bFormatted); 741 CFX_WideString sValue = OnFormat(bFormatted);
742 ResetAppearance(bFormatted ? sValue.c_str() : nullptr, TRUE); 742 ResetAppearance(bFormatted ? &sValue : nullptr, TRUE);
743 break; 743 break;
744 } 744 }
745 default: 745 default:
746 ResetAppearance(nullptr, FALSE); 746 ResetAppearance(nullptr, FALSE);
747 break; 747 break;
748 } 748 }
749 } 749 }
750 #endif // PDF_ENABLE_XFA 750 #endif // PDF_ENABLE_XFA
751 751
752 void CPDFSDK_Widget::ResetAppearance(const FX_WCHAR* sValue, 752 void CPDFSDK_Widget::ResetAppearance(const CFX_WideString* sValue,
753 FX_BOOL bValueChanged) { 753 FX_BOOL bValueChanged) {
754 SetAppModified(); 754 SetAppModified();
755 755
756 m_nAppAge++; 756 m_nAppAge++;
757 if (m_nAppAge > 999999) 757 if (m_nAppAge > 999999)
758 m_nAppAge = 0; 758 m_nAppAge = 0;
759 if (bValueChanged) 759 if (bValueChanged)
760 m_nValueAge++; 760 m_nValueAge++;
761 761
762 int nFieldType = GetFieldType(); 762 int nFieldType = GetFieldType();
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
1346 1346
1347 WriteAppearance("D", GetRotatedRect(), GetMatrix(), csAP_D_ON, 1347 WriteAppearance("D", GetRotatedRect(), GetMatrix(), csAP_D_ON,
1348 pControl->GetCheckedAPState()); 1348 pControl->GetCheckedAPState());
1349 WriteAppearance("D", GetRotatedRect(), GetMatrix(), csAP_D_OFF, "Off"); 1349 WriteAppearance("D", GetRotatedRect(), GetMatrix(), csAP_D_OFF, "Off");
1350 1350
1351 CFX_ByteString csAS = GetAppState(); 1351 CFX_ByteString csAS = GetAppState();
1352 if (csAS.IsEmpty()) 1352 if (csAS.IsEmpty())
1353 SetAppState("Off"); 1353 SetAppState("Off");
1354 } 1354 }
1355 1355
1356 void CPDFSDK_Widget::ResetAppearance_ComboBox(const FX_WCHAR* sValue) { 1356 void CPDFSDK_Widget::ResetAppearance_ComboBox(const CFX_WideString* sValue) {
1357 CPDF_FormControl* pControl = GetFormControl(); 1357 CPDF_FormControl* pControl = GetFormControl();
1358 CPDF_FormField* pField = pControl->GetField(); 1358 CPDF_FormField* pField = pControl->GetField();
1359 CFX_ByteTextBuf sBody, sLines; 1359 CFX_ByteTextBuf sBody, sLines;
1360 1360
1361 CFX_FloatRect rcClient = GetClientRect(); 1361 CFX_FloatRect rcClient = GetClientRect();
1362 CFX_FloatRect rcButton = rcClient; 1362 CFX_FloatRect rcButton = rcClient;
1363 rcButton.left = rcButton.right - 13; 1363 rcButton.left = rcButton.right - 13;
1364 rcButton.Normalize(); 1364 rcButton.Normalize();
1365 1365
1366 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); 1366 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
(...skipping 13 matching lines...) Expand all
1380 1380
1381 FX_FLOAT fFontSize = GetFontSize(); 1381 FX_FLOAT fFontSize = GetFontSize();
1382 if (IsFloatZero(fFontSize)) 1382 if (IsFloatZero(fFontSize))
1383 pEdit->SetAutoFontSize(TRUE, TRUE); 1383 pEdit->SetAutoFontSize(TRUE, TRUE);
1384 else 1384 else
1385 pEdit->SetFontSize(fFontSize); 1385 pEdit->SetFontSize(fFontSize);
1386 1386
1387 pEdit->Initialize(); 1387 pEdit->Initialize();
1388 1388
1389 if (sValue) { 1389 if (sValue) {
1390 pEdit->SetText(sValue); 1390 pEdit->SetText(*sValue);
1391 } else { 1391 } else {
1392 int32_t nCurSel = pField->GetSelectedIndex(0); 1392 int32_t nCurSel = pField->GetSelectedIndex(0);
1393
1394 if (nCurSel < 0) 1393 if (nCurSel < 0)
1395 pEdit->SetText(pField->GetValue().c_str()); 1394 pEdit->SetText(pField->GetValue().c_str());
1396 else 1395 else
1397 pEdit->SetText(pField->GetOptionLabel(nCurSel).c_str()); 1396 pEdit->SetText(pField->GetOptionLabel(nCurSel).c_str());
1398 } 1397 }
1399 1398
1400 CFX_FloatRect rcContent = pEdit->GetContentRect(); 1399 CFX_FloatRect rcContent = pEdit->GetContentRect();
1401 1400
1402 CFX_ByteString sEdit = 1401 CFX_ByteString sEdit =
1403 CPWL_Utils::GetEditAppStream(pEdit.get(), CFX_FloatPoint(0.0f, 0.0f)); 1402 CPWL_Utils::GetEditAppStream(pEdit.get(), CFX_FloatPoint(0.0f, 0.0f));
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 << " " << rcClient.Height() << " re\nW\nn\n"; 1504 << " " << rcClient.Height() << " re\nW\nn\n";
1506 sBody << sList << "Q\nEMC\n"; 1505 sBody << sList << "Q\nEMC\n";
1507 } 1506 }
1508 1507
1509 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() + 1508 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() +
1510 sLines.AsStringC() + sBody.AsStringC(); 1509 sLines.AsStringC() + sBody.AsStringC();
1511 1510
1512 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP); 1511 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP);
1513 } 1512 }
1514 1513
1515 void CPDFSDK_Widget::ResetAppearance_TextField(const FX_WCHAR* sValue) { 1514 void CPDFSDK_Widget::ResetAppearance_TextField(const CFX_WideString* sValue) {
1516 CPDF_FormControl* pControl = GetFormControl(); 1515 CPDF_FormControl* pControl = GetFormControl();
1517 CPDF_FormField* pField = pControl->GetField(); 1516 CPDF_FormField* pField = pControl->GetField();
1518 CFX_ByteTextBuf sBody, sLines; 1517 CFX_ByteTextBuf sBody, sLines;
1519 1518
1520 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); 1519 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1521 pEdit->EnableRefresh(FALSE); 1520 pEdit->EnableRefresh(FALSE);
1522 1521
1523 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1522 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1524 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); 1523 CPDFDoc_Environment* pEnv = pDoc->GetEnv();
1525 1524
(...skipping 21 matching lines...) Expand all
1547 } 1546 }
1548 1547
1549 int nMaxLen = pField->GetMaxLen(); 1548 int nMaxLen = pField->GetMaxLen();
1550 FX_BOOL bCharArray = (dwFieldFlags >> 24) & 1; 1549 FX_BOOL bCharArray = (dwFieldFlags >> 24) & 1;
1551 FX_FLOAT fFontSize = GetFontSize(); 1550 FX_FLOAT fFontSize = GetFontSize();
1552 1551
1553 #ifdef PDF_ENABLE_XFA 1552 #ifdef PDF_ENABLE_XFA
1554 CFX_WideString sValueTmp; 1553 CFX_WideString sValueTmp;
1555 if (!sValue && GetMixXFAWidget()) { 1554 if (!sValue && GetMixXFAWidget()) {
1556 sValueTmp = GetValue(TRUE); 1555 sValueTmp = GetValue(TRUE);
1557 sValue = sValueTmp.c_str(); 1556 sValue = &sValueTmp;
1558 } 1557 }
1559 #endif // PDF_ENABLE_XFA 1558 #endif // PDF_ENABLE_XFA
1560 1559
1561 if (nMaxLen > 0) { 1560 if (nMaxLen > 0) {
1562 if (bCharArray) { 1561 if (bCharArray) {
1563 pEdit->SetCharArray(nMaxLen); 1562 pEdit->SetCharArray(nMaxLen);
1564 1563
1565 if (IsFloatZero(fFontSize)) { 1564 if (IsFloatZero(fFontSize)) {
1566 fFontSize = CPWL_Edit::GetCharArrayAutoFontSize(font_map.GetPDFFont(0), 1565 fFontSize = CPWL_Edit::GetCharArrayAutoFontSize(font_map.GetPDFFont(0),
1567 rcClient, nMaxLen); 1566 rcClient, nMaxLen);
1568 } 1567 }
1569 } else { 1568 } else {
1570 if (sValue) 1569 if (sValue)
1571 nMaxLen = wcslen((const wchar_t*)sValue); 1570 nMaxLen = sValue->GetLength();
1572 pEdit->SetLimitChar(nMaxLen); 1571 pEdit->SetLimitChar(nMaxLen);
1573 } 1572 }
1574 } 1573 }
1575 1574
1576 if (IsFloatZero(fFontSize)) 1575 if (IsFloatZero(fFontSize))
1577 pEdit->SetAutoFontSize(TRUE, TRUE); 1576 pEdit->SetAutoFontSize(TRUE, TRUE);
1578 else 1577 else
1579 pEdit->SetFontSize(fFontSize); 1578 pEdit->SetFontSize(fFontSize);
1580 1579
1581 pEdit->Initialize(); 1580 pEdit->Initialize();
1582 1581
1583 if (sValue) 1582 if (sValue)
1584 pEdit->SetText(sValue); 1583 pEdit->SetText(*sValue);
1585 else 1584 else
1586 pEdit->SetText(pField->GetValue().c_str()); 1585 pEdit->SetText(pField->GetValue().c_str());
1587 1586
1588 CFX_FloatRect rcContent = pEdit->GetContentRect(); 1587 CFX_FloatRect rcContent = pEdit->GetContentRect();
1589 1588
1590 CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream( 1589 CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream(
1591 pEdit.get(), CFX_FloatPoint(0.0f, 0.0f), nullptr, !bCharArray, subWord); 1590 pEdit.get(), CFX_FloatPoint(0.0f, 0.0f), nullptr, !bCharArray, subWord);
1592 1591
1593 if (sEdit.GetLength() > 0) { 1592 if (sEdit.GetLength() > 0) {
1594 sBody << "/Tx BMC\n" 1593 sBody << "/Tx BMC\n"
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
1946 return FALSE; 1945 return FALSE;
1947 1946
1948 if (!IsVisible()) 1947 if (!IsVisible())
1949 return FALSE; 1948 return FALSE;
1950 1949
1951 if ((GetFieldFlags() & FIELDFLAG_READONLY) == FIELDFLAG_READONLY) 1950 if ((GetFieldFlags() & FIELDFLAG_READONLY) == FIELDFLAG_READONLY)
1952 return FALSE; 1951 return FALSE;
1953 1952
1954 return TRUE; 1953 return TRUE;
1955 } 1954 }
OLDNEW
« no previous file with comments | « fpdfsdk/cpdfsdk_interform.cpp ('k') | fpdfsdk/cpdfsdk_widgethandler.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698