diff options
Diffstat (limited to 'xfa/fwl')
-rw-r--r-- | xfa/fwl/core/cfwl_event.h | 1 | ||||
-rw-r--r-- | xfa/fwl/core/ifwl_edit.cpp | 78 | ||||
-rw-r--r-- | xfa/fwl/core/ifwl_edit.h | 8 |
3 files changed, 6 insertions, 81 deletions
diff --git a/xfa/fwl/core/cfwl_event.h b/xfa/fwl/core/cfwl_event.h index d91aa47e35..b127603155 100644 --- a/xfa/fwl/core/cfwl_event.h +++ b/xfa/fwl/core/cfwl_event.h @@ -32,7 +32,6 @@ enum class CFWL_EventType { MouseWheel, PostDropDown, PreDropDown, - PreSelfAdaption, Scroll, SelectChanged, SetFocus, diff --git a/xfa/fwl/core/ifwl_edit.cpp b/xfa/fwl/core/ifwl_edit.cpp index b3b2e1ca8a..d046a624a8 100644 --- a/xfa/fwl/core/ifwl_edit.cpp +++ b/xfa/fwl/core/ifwl_edit.cpp @@ -444,60 +444,11 @@ void IFWL_Edit::On_CaretChanged(CFDE_TxtEdtEngine* pEdit, void IFWL_Edit::On_TextChanged(CFDE_TxtEdtEngine* pEdit, FDE_TXTEDT_TEXTCHANGE_INFO& ChangeInfo) { - uint32_t dwStyleEx = m_pProperties->m_dwStyleExes; - if (dwStyleEx & FWL_STYLEEXT_EDT_VAlignMask) + if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VAlignMask) UpdateVAlignment(); - IFDE_TxtEdtPage* page = m_EdtEngine.GetPage(0); - FX_FLOAT fContentWidth = page->GetContentsBox().width; - FX_FLOAT fContentHeight = page->GetContentsBox().height; CFX_RectF rtTemp; GetClientRect(rtTemp); - bool bHSelfAdaption = - !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption); - bool bVSelfAdaption = - !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption); - bool bNeedUpdate = false; - if (bHSelfAdaption || bVSelfAdaption) { - CFWL_EvtEdtPreSelfAdaption evt; - evt.m_pSrcTarget = this; - evt.bHSelfAdaption = true; - evt.bVSelfAdaption = true; - FX_FLOAT fWidth; - FX_FLOAT fHight; - fWidth = bHSelfAdaption ? fContentWidth : m_pProperties->m_rtWidget.width; - fHight = bVSelfAdaption ? fContentHeight : m_pProperties->m_rtWidget.height; - evt.rtAfterChange.Set(0, 0, fWidth, fHight); - DispatchEvent(&evt); - if (!evt.bHSelfAdaption) { - ModifyStylesEx( - 0, FWL_STYLEEXT_EDT_HSelfAdaption | FWL_STYLEEXT_EDT_AutoHScroll); - } - if (!evt.bVSelfAdaption) { - ModifyStylesEx( - 0, FWL_STYLEEXT_EDT_VSelfAdaption | FWL_STYLEEXT_EDT_AutoVScroll); - } - bNeedUpdate = (bHSelfAdaption && !evt.bHSelfAdaption) || - (bVSelfAdaption && !evt.bVSelfAdaption); - } - - FX_FLOAT fContentWidth1 = fContentWidth; - FX_FLOAT fContentHeight1 = fContentHeight; - if (bNeedUpdate) { - UpdateEditParams(); - UpdateEditLayout(); - IFDE_TxtEdtPage* page1 = m_EdtEngine.GetPage(0); - fContentWidth1 = page1->GetContentsBox().width; - fContentHeight1 = page1->GetContentsBox().height; - } - if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption) { - rtTemp.width = std::max(m_pProperties->m_rtWidget.width, fContentWidth1); - m_pProperties->m_rtWidget.width = fContentWidth1; - } - if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption) { - rtTemp.height = std::max(m_pProperties->m_rtWidget.height, fContentHeight1); - m_pProperties->m_rtWidget.height = fContentHeight1; - } CFWL_EvtEdtTextChanged event; event.m_pSrcTarget = this; @@ -506,6 +457,7 @@ void IFWL_Edit::On_TextChanged(CFDE_TxtEdtEngine* pEdit, event.wsDelete = ChangeInfo.wsDelete; event.wsPrevText = ChangeInfo.wsPrevText; DispatchEvent(&event); + LayoutScrollBar(); Repaint(&rtTemp); } @@ -873,10 +825,8 @@ bool IFWL_Edit::UpdateOffset() { offsetY = rtCaret.top - rtEidt.top; if (rtCaret.bottom() > rtEidt.bottom()) offsetY = rtCaret.bottom() - rtEidt.bottom(); - if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption)) - m_fScrollOffsetX += offsetX; - if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption)) - m_fScrollOffsetY += offsetY; + m_fScrollOffsetX += offsetX; + m_fScrollOffsetY += offsetY; if (m_fFontSize > m_rtEngine.height) m_fScrollOffsetY = 0; return true; @@ -935,7 +885,6 @@ void IFWL_Edit::UpdateCaret() { CFX_RectF rtCaret; rtCaret.Set(rtFDE.left, rtFDE.top, rtFDE.width, rtFDE.height); - CFX_RectF temp = rtCaret; CFX_RectF rtClient; GetClientRect(rtClient); rtCaret.Intersect(rtClient); @@ -946,23 +895,8 @@ void IFWL_Edit::UpdateCaret() { rtCaret.width = right - rtCaret.left; } - bool bShow = true; - bool bShowWhole = false; - if (!(m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) || rtCaret.IsEmpty()) - bShow = false; - if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption && - temp.right() > m_rtEngine.right()) { - bShowWhole = true; - } - if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption && - temp.bottom() > m_rtEngine.bottom()) { - bShowWhole = true; - } else { - bShow = (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused && - !rtCaret.IsEmpty()); - } - if (bShowWhole) - rtCaret = temp; + bool bShow = + m_pProperties->m_dwStates & FWL_WGTSTATE_Focused && !rtCaret.IsEmpty(); ShowCaret(bShow, &rtCaret); } diff --git a/xfa/fwl/core/ifwl_edit.h b/xfa/fwl/core/ifwl_edit.h index 262d16e8f0..0f8b7a1219 100644 --- a/xfa/fwl/core/ifwl_edit.h +++ b/xfa/fwl/core/ifwl_edit.h @@ -28,8 +28,6 @@ #define FWL_STYLEEXT_EDT_Validate (1L << 7) #define FWL_STYLEEXT_EDT_Password (1L << 8) #define FWL_STYLEEXT_EDT_Number (1L << 9) -#define FWL_STYLEEXT_EDT_HSelfAdaption (1L << 10) -#define FWL_STYLEEXT_EDT_VSelfAdaption (1L << 11) #define FWL_STYLEEXT_EDT_VerticalLayout (1L << 12) #define FWL_STYLEEXT_EDT_VerticalChars (1L << 13) #define FWL_STYLEEXT_EDT_ReverseLine (1L << 14) @@ -67,12 +65,6 @@ FWL_EVENT_DEF(CFWL_EvtEdtTextChanged, FWL_EVENT_DEF(CFWL_EvtEdtTextFull, CFWL_EventType::TextFull) -FWL_EVENT_DEF(CFWL_EvtEdtPreSelfAdaption, - CFWL_EventType::PreSelfAdaption, - bool bHSelfAdaption; - bool bVSelfAdaption; - CFX_RectF rtAfterChange;) - FWL_EVENT_DEF(CFWL_EvtEdtValidate, CFWL_EventType::Validate, IFWL_Widget* pDstWidget; |