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

Side by Side Diff: xfa/fwl/core/ifwl_form.cpp

Issue 2436103002: Remove FWL globals. (Closed)
Patch Set: Review feedback Created 4 years, 1 month 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 | « xfa/fwl/core/ifwl_form.h ('k') | xfa/fwl/core/ifwl_formproxy.h » ('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 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 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 "xfa/fwl/core/ifwl_form.h" 7 #include "xfa/fwl/core/ifwl_form.h"
8 8
9 #include "xfa/fde/tto/fde_textout.h" 9 #include "xfa/fde/tto/fde_textout.h"
10 #include "xfa/fwl/core/cfwl_message.h" 10 #include "xfa/fwl/core/cfwl_message.h"
(...skipping 18 matching lines...) Expand all
29 namespace { 29 namespace {
30 30
31 const uint8_t kCornerEnlarge = 10; 31 const uint8_t kCornerEnlarge = 10;
32 32
33 } // namespace 33 } // namespace
34 34
35 RestoreInfo::RestoreInfo() {} 35 RestoreInfo::RestoreInfo() {}
36 36
37 RestoreInfo::~RestoreInfo() {} 37 RestoreInfo::~RestoreInfo() {}
38 38
39 IFWL_Form::IFWL_Form(const CFWL_WidgetImpProperties& properties, 39 IFWL_Form::IFWL_Form(const IFWL_App* app,
40 const CFWL_WidgetImpProperties& properties,
40 IFWL_Widget* pOuter) 41 IFWL_Widget* pOuter)
41 : IFWL_Widget(properties, pOuter), 42 : IFWL_Widget(app, properties, pOuter),
42 m_pCloseBox(nullptr), 43 m_pCloseBox(nullptr),
43 m_pMinBox(nullptr), 44 m_pMinBox(nullptr),
44 m_pMaxBox(nullptr), 45 m_pMaxBox(nullptr),
45 m_pCaptionBox(nullptr), 46 m_pCaptionBox(nullptr),
46 m_pSubFocus(nullptr), 47 m_pSubFocus(nullptr),
47 m_fCXBorder(0), 48 m_fCXBorder(0),
48 m_fCYBorder(0), 49 m_fCYBorder(0),
49 m_iCaptureBtn(-1), 50 m_iCaptureBtn(-1),
50 m_iSysBox(0), 51 m_iSysBox(0),
51 m_eResizeType(FORM_RESIZETYPE_None), 52 m_eResizeType(FORM_RESIZETYPE_None),
(...skipping 10 matching lines...) Expand all
62 m_rtCaption.Reset(); 63 m_rtCaption.Reset();
63 m_rtRestore.Reset(); 64 m_rtRestore.Reset();
64 m_rtCaptionText.Reset(); 65 m_rtCaptionText.Reset();
65 m_rtIcon.Reset(); 66 m_rtIcon.Reset();
66 } 67 }
67 68
68 IFWL_Form::~IFWL_Form() { 69 IFWL_Form::~IFWL_Form() {
69 RemoveSysButtons(); 70 RemoveSysButtons();
70 } 71 }
71 72
72 FWL_Type IFWL_Form::GetClassID() const { 73 void IFWL_Form::Initialize() {
73 return FWL_Type::Form; 74 IFWL_Widget::Initialize();
74 }
75 75
76 FX_BOOL IFWL_Form::IsInstance(const CFX_WideStringC& wsClass) const {
77 if (wsClass == CFX_WideStringC(FWL_CLASS_Form))
78 return TRUE;
79 return IFWL_Widget::IsInstance(wsClass);
80 }
81
82 FWL_Error IFWL_Form::Initialize() {
83 if (IFWL_Widget::Initialize() != FWL_Error::Succeeded)
84 return FWL_Error::Indefinite;
85 RegisterForm(); 76 RegisterForm();
86 RegisterEventTarget(); 77 RegisterEventTarget();
87 m_pDelegate = new CFWL_FormImpDelegate(this); 78 m_pDelegate = new CFWL_FormImpDelegate(this);
88 return FWL_Error::Succeeded;
89 } 79 }
90 80
91 void IFWL_Form::Finalize() { 81 void IFWL_Form::Finalize() {
92 delete m_pDelegate; 82 delete m_pDelegate;
93 m_pDelegate = nullptr; 83 m_pDelegate = nullptr;
94 UnregisterEventTarget(); 84 UnregisterEventTarget();
95 UnRegisterForm(); 85 UnRegisterForm();
96 IFWL_Widget::Finalize(); 86 IFWL_Widget::Finalize();
97 } 87 }
98 88
89 FWL_Type IFWL_Form::GetClassID() const {
90 return FWL_Type::Form;
91 }
92
93 FX_BOOL IFWL_Form::IsInstance(const CFX_WideStringC& wsClass) const {
94 if (wsClass == CFX_WideStringC(FWL_CLASS_Form))
95 return TRUE;
96 return IFWL_Widget::IsInstance(wsClass);
97 }
98
99 FWL_Error IFWL_Form::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { 99 FWL_Error IFWL_Form::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
100 if (bAutoSize) { 100 if (bAutoSize) {
101 rect.Reset(); 101 rect.Reset();
102 FX_FLOAT fCapHeight = GetCaptionHeight(); 102 FX_FLOAT fCapHeight = GetCaptionHeight();
103 FX_FLOAT fCXBorder = GetBorderSize(TRUE); 103 FX_FLOAT fCXBorder = GetBorderSize(TRUE);
104 FX_FLOAT fCYBorder = GetBorderSize(FALSE); 104 FX_FLOAT fCYBorder = GetBorderSize(FALSE);
105 FX_FLOAT fEdge = GetEdgeWidth(); 105 FX_FLOAT fEdge = GetEdgeWidth();
106 rect.height += fCapHeight + fCYBorder + fEdge + fEdge; 106 rect.height += fCapHeight + fCYBorder + fEdge + fEdge;
107 rect.width += fCXBorder + fCXBorder + fEdge + fEdge; 107 rect.width += fCXBorder + fCXBorder + fEdge + fEdge;
108 } else { 108 } else {
109 rect = m_pProperties->m_rtWidget; 109 rect = m_pProperties->m_rtWidget;
110 } 110 }
111 return FWL_Error::Succeeded; 111 return FWL_Error::Succeeded;
112 } 112 }
113 FWL_Error IFWL_Form::GetClientRect(CFX_RectF& rect) { 113 FWL_Error IFWL_Form::GetClientRect(CFX_RectF& rect) {
114 if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_Caption) == 0) { 114 if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_Caption) == 0) {
115 rect = m_pProperties->m_rtWidget; 115 rect = m_pProperties->m_rtWidget;
116 rect.Offset(-rect.left, -rect.top); 116 rect.Offset(-rect.left, -rect.top);
117 return FWL_Error::Succeeded; 117 return FWL_Error::Succeeded;
118 } 118 }
119 #ifdef FWL_UseMacSystemBorder 119 #ifdef FWL_UseMacSystemBorder
120 rect = m_rtRelative; 120 rect = m_rtRelative;
121 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 121 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr();
122 if (!pWidgetMgr) 122 if (!pWidgetMgr)
123 return FWL_Error::Indefinite; 123 return FWL_Error::Indefinite;
124 124
125 rect.left = 0; 125 rect.left = 0;
126 rect.top = 0; 126 rect.top = 0;
127 return FWL_Error::Succeeded; 127 return FWL_Error::Succeeded;
128 #else 128 #else
129 FX_FLOAT x = 0; 129 FX_FLOAT x = 0;
130 FX_FLOAT y = 0; 130 FX_FLOAT y = 0;
131 FX_FLOAT t = 0; 131 FX_FLOAT t = 0;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 FWL_FORMSIZE IFWL_Form::GetFormSize() { 338 FWL_FORMSIZE IFWL_Form::GetFormSize() {
339 return m_eFormSize; 339 return m_eFormSize;
340 } 340 }
341 341
342 FWL_Error IFWL_Form::SetFormSize(FWL_FORMSIZE eFormSize) { 342 FWL_Error IFWL_Form::SetFormSize(FWL_FORMSIZE eFormSize) {
343 m_eFormSize = eFormSize; 343 m_eFormSize = eFormSize;
344 return FWL_Error::Succeeded; 344 return FWL_Error::Succeeded;
345 } 345 }
346 346
347 IFWL_Widget* IFWL_Form::DoModal() { 347 IFWL_Widget* IFWL_Form::DoModal() {
348 IFWL_App* pApp = GetOwnerApp(); 348 const IFWL_App* pApp = GetOwnerApp();
349 if (!pApp) 349 if (!pApp)
350 return nullptr; 350 return nullptr;
351 351
352 CFWL_NoteDriver* pDriver = pApp->GetNoteDriver(); 352 CFWL_NoteDriver* pDriver = pApp->GetNoteDriver();
353 if (!pDriver) 353 if (!pDriver)
354 return nullptr; 354 return nullptr;
355 355
356 m_pNoteLoop.reset(new CFWL_NoteLoop(this)); 356 m_pNoteLoop.reset(new CFWL_NoteLoop(this));
357 pDriver->PushNoteLoop(m_pNoteLoop.get()); 357 pDriver->PushNoteLoop(m_pNoteLoop.get());
358 m_bDoModalFlag = TRUE; 358 m_bDoModalFlag = TRUE;
(...skipping 10 matching lines...) Expand all
369 IFWL_Widget* IFWL_Form::DoModal(uint32_t& dwCommandID) { 369 IFWL_Widget* IFWL_Form::DoModal(uint32_t& dwCommandID) {
370 return DoModal(); 370 return DoModal();
371 } 371 }
372 372
373 FWL_Error IFWL_Form::EndDoModal() { 373 FWL_Error IFWL_Form::EndDoModal() {
374 if (!m_pNoteLoop) 374 if (!m_pNoteLoop)
375 return FWL_Error::Indefinite; 375 return FWL_Error::Indefinite;
376 m_bDoModalFlag = FALSE; 376 m_bDoModalFlag = FALSE;
377 #if (_FX_OS_ == _FX_MACOSX_) 377 #if (_FX_OS_ == _FX_MACOSX_)
378 m_pNoteLoop->EndModalLoop(); 378 m_pNoteLoop->EndModalLoop();
379 IFWL_App* pApp = GetOwnerApp(); 379 const IFWL_App* pApp = GetOwnerApp();
380 if (!pApp) 380 if (!pApp)
381 return FWL_Error::Indefinite; 381 return FWL_Error::Indefinite;
382 382
383 CFWL_NoteDriver* pDriver = 383 CFWL_NoteDriver* pDriver =
384 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); 384 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
385 if (!pDriver) 385 if (!pDriver)
386 return FWL_Error::Indefinite; 386 return FWL_Error::Indefinite;
387 387
388 pDriver->PopNoteLoop(); 388 pDriver->PopNoteLoop();
389 SetStates(FWL_WGTSTATE_Invisible, TRUE); 389 SetStates(FWL_WGTSTATE_Invisible, TRUE);
(...skipping 19 matching lines...) Expand all
409 pTheme->DrawBackground(&param); 409 pTheme->DrawBackground(&param);
410 } 410 }
411 IFWL_Widget* IFWL_Form::GetSubFocus() { 411 IFWL_Widget* IFWL_Form::GetSubFocus() {
412 return m_pSubFocus; 412 return m_pSubFocus;
413 } 413 }
414 void IFWL_Form::SetSubFocus(IFWL_Widget* pWidget) { 414 void IFWL_Form::SetSubFocus(IFWL_Widget* pWidget) {
415 m_pSubFocus = pWidget; 415 m_pSubFocus = pWidget;
416 } 416 }
417 417
418 void IFWL_Form::ShowChildWidget(IFWL_Widget* pParent) { 418 void IFWL_Form::ShowChildWidget(IFWL_Widget* pParent) {
419 IFWL_App* pApp = FWL_GetApp(); 419 const IFWL_App* pApp = pParent->GetOwnerApp();
420 if (!pApp) 420 if (!pApp)
421 return; 421 return;
422 422
423 CFWL_WidgetMgr* pWidgetMgr = pApp->GetWidgetMgr(); 423 CFWL_WidgetMgr* pWidgetMgr = pApp->GetWidgetMgr();
424 if (!pWidgetMgr) 424 if (!pWidgetMgr)
425 return; 425 return;
426 426
427 IFWL_Widget* pChild = pWidgetMgr->GetFirstChildWidget(pParent); 427 IFWL_Widget* pChild = pWidgetMgr->GetFirstChildWidget(pParent);
428 while (pChild) { 428 while (pChild) {
429 ShowChildWidget(pChild); 429 ShowChildWidget(pChild);
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 void IFWL_Form::GetEdgeRect(CFX_RectF& rtEdge) { 581 void IFWL_Form::GetEdgeRect(CFX_RectF& rtEdge) {
582 rtEdge = m_rtRelative; 582 rtEdge = m_rtRelative;
583 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) { 583 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) {
584 FX_FLOAT fCX = GetBorderSize(); 584 FX_FLOAT fCX = GetBorderSize();
585 FX_FLOAT fCY = GetBorderSize(FALSE); 585 FX_FLOAT fCY = GetBorderSize(FALSE);
586 rtEdge.Deflate(fCX, m_rtCaption.Height(), fCX, fCY); 586 rtEdge.Deflate(fCX, m_rtCaption.Height(), fCX, fCY);
587 } 587 }
588 } 588 }
589 void IFWL_Form::SetWorkAreaRect() { 589 void IFWL_Form::SetWorkAreaRect() {
590 m_rtRestore = m_pProperties->m_rtWidget; 590 m_rtRestore = m_pProperties->m_rtWidget;
591 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 591 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr();
592 if (!pWidgetMgr) 592 if (!pWidgetMgr)
593 return; 593 return;
594 m_bSetMaximize = TRUE; 594 m_bSetMaximize = TRUE;
595 Repaint(&m_rtRelative); 595 Repaint(&m_rtRelative);
596 } 596 }
597 void IFWL_Form::SetCursor(FX_FLOAT fx, FX_FLOAT fy) {} 597 void IFWL_Form::SetCursor(FX_FLOAT fx, FX_FLOAT fy) {}
598 void IFWL_Form::Layout() { 598 void IFWL_Form::Layout() {
599 GetRelativeRect(m_rtRelative); 599 GetRelativeRect(m_rtRelative);
600 #ifndef FWL_UseMacSystemBorder 600 #ifndef FWL_UseMacSystemBorder
601 ReSetSysBtn(); 601 ReSetSysBtn();
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); 662 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider);
663 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Icon && 663 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Icon &&
664 pData->GetIcon(this, FALSE)) { 664 pData->GetIcon(this, FALSE)) {
665 if (!m_bCustomizeLayout) { 665 if (!m_bCustomizeLayout) {
666 m_rtIcon.Set(5, (m_rtCaption.height - m_fSmallIconSz) / 2, m_fSmallIconSz, 666 m_rtIcon.Set(5, (m_rtCaption.height - m_fSmallIconSz) / 2, m_fSmallIconSz,
667 m_fSmallIconSz); 667 m_fSmallIconSz);
668 } 668 }
669 } 669 }
670 } 670 }
671 void IFWL_Form::RegisterForm() { 671 void IFWL_Form::RegisterForm() {
672 IFWL_App* pApp = GetOwnerApp(); 672 const IFWL_App* pApp = GetOwnerApp();
673 if (!pApp) 673 if (!pApp)
674 return; 674 return;
675 675
676 CFWL_NoteDriver* pDriver = 676 CFWL_NoteDriver* pDriver =
677 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); 677 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
678 if (!pDriver) 678 if (!pDriver)
679 return; 679 return;
680 680
681 pDriver->RegisterForm(this); 681 pDriver->RegisterForm(this);
682 } 682 }
683 void IFWL_Form::UnRegisterForm() { 683 void IFWL_Form::UnRegisterForm() {
684 IFWL_App* pApp = GetOwnerApp(); 684 const IFWL_App* pApp = GetOwnerApp();
685 if (!pApp) 685 if (!pApp)
686 return; 686 return;
687 687
688 CFWL_NoteDriver* pDriver = 688 CFWL_NoteDriver* pDriver =
689 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); 689 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
690 if (!pDriver) 690 if (!pDriver)
691 return; 691 return;
692 692
693 pDriver->UnRegisterForm(this); 693 pDriver->UnRegisterForm(this);
694 } 694 }
695 FX_BOOL IFWL_Form::IsDoModal() { 695 FX_BOOL IFWL_Form::IsDoModal() {
696 return m_bDoModalFlag; 696 return m_bDoModalFlag;
697 } 697 }
698 void IFWL_Form::SetThemeData() { 698 void IFWL_Form::SetThemeData() {
699 m_fSmallIconSz = 699 m_fSmallIconSz =
700 *static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::SmallIcon)); 700 *static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::SmallIcon));
701 m_fBigIconSz = 701 m_fBigIconSz =
702 *static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::BigIcon)); 702 *static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::BigIcon));
703 } 703 }
704 FX_BOOL IFWL_Form::HasIcon() { 704 FX_BOOL IFWL_Form::HasIcon() {
705 IFWL_FormDP* pData = 705 IFWL_FormDP* pData =
706 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); 706 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider);
707 return !!pData->GetIcon(this, FALSE); 707 return !!pData->GetIcon(this, FALSE);
708 } 708 }
709 void IFWL_Form::UpdateIcon() { 709 void IFWL_Form::UpdateIcon() {
710 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 710 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr();
711 if (!pWidgetMgr) 711 if (!pWidgetMgr)
712 return; 712 return;
713 IFWL_FormDP* pData = 713 IFWL_FormDP* pData =
714 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); 714 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider);
715 CFX_DIBitmap* pBigIcon = pData->GetIcon(this, TRUE); 715 CFX_DIBitmap* pBigIcon = pData->GetIcon(this, TRUE);
716 CFX_DIBitmap* pSmallIcon = pData->GetIcon(this, FALSE); 716 CFX_DIBitmap* pSmallIcon = pData->GetIcon(this, FALSE);
717 if (pBigIcon) 717 if (pBigIcon)
718 m_pBigIcon = pBigIcon; 718 m_pBigIcon = pBigIcon;
719 if (pSmallIcon) 719 if (pSmallIcon)
720 m_pSmallIcon = pSmallIcon; 720 m_pSmallIcon = pSmallIcon;
721 } 721 }
722 void IFWL_Form::UpdateCaption() { 722 void IFWL_Form::UpdateCaption() {
723 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 723 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr();
724 if (!pWidgetMgr) 724 if (!pWidgetMgr)
725 return; 725 return;
726 IFWL_DataProvider* pData = m_pProperties->m_pDataProvider; 726 IFWL_DataProvider* pData = m_pProperties->m_pDataProvider;
727 if (!pData) 727 if (!pData)
728 return; 728 return;
729 CFX_WideString text; 729 CFX_WideString text;
730 pData->GetCaption(this, text); 730 pData->GetCaption(this, text);
731 } 731 }
732 void IFWL_Form::DoWidthLimit(FX_FLOAT& fLeft, 732 void IFWL_Form::DoWidthLimit(FX_FLOAT& fLeft,
733 FX_FLOAT& fWidth, 733 FX_FLOAT& fWidth,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 } 803 }
804 } 804 }
805 #else 805 #else
806 void CFWL_FormImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { 806 void CFWL_FormImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
807 if (!pMessage) 807 if (!pMessage)
808 return; 808 return;
809 809
810 switch (pMessage->GetClassID()) { 810 switch (pMessage->GetClassID()) {
811 case CFWL_MessageType::Activate: { 811 case CFWL_MessageType::Activate: {
812 m_pOwner->m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Deactivated; 812 m_pOwner->m_pProperties->m_dwStates &= ~FWL_WGTSTATE_Deactivated;
813 IFWL_App* pApp = m_pOwner->GetOwnerApp(); 813 const IFWL_App* pApp = m_pOwner->GetOwnerApp();
814 CFWL_NoteDriver* pDriver = 814 CFWL_NoteDriver* pDriver =
815 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); 815 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
816 IFWL_Widget* pSubFocus = m_pOwner->GetSubFocus(); 816 IFWL_Widget* pSubFocus = m_pOwner->GetSubFocus();
817 if (pSubFocus && pSubFocus != pDriver->GetFocus()) 817 if (pSubFocus && pSubFocus != pDriver->GetFocus())
818 pDriver->SetFocus(pSubFocus); 818 pDriver->SetFocus(pSubFocus);
819 819
820 m_pOwner->Repaint(&m_pOwner->m_rtRelative); 820 m_pOwner->Repaint(&m_pOwner->m_rtRelative);
821 break; 821 break;
822 } 822 }
823 case CFWL_MessageType::Deactivate: { 823 case CFWL_MessageType::Deactivate: {
824 m_pOwner->m_pProperties->m_dwStates |= FWL_WGTSTATE_Deactivated; 824 m_pOwner->m_pProperties->m_dwStates |= FWL_WGTSTATE_Deactivated;
825 IFWL_App* pApp = m_pOwner->GetOwnerApp(); 825 const IFWL_App* pApp = m_pOwner->GetOwnerApp();
826 CFWL_NoteDriver* pDriver = 826 CFWL_NoteDriver* pDriver =
827 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); 827 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver());
828 IFWL_Widget* pSubFocus = m_pOwner->GetSubFocus(); 828 IFWL_Widget* pSubFocus = m_pOwner->GetSubFocus();
829 if (pSubFocus) { 829 if (pSubFocus) {
830 if (pSubFocus == pDriver->GetFocus()) { 830 if (pSubFocus == pDriver->GetFocus()) {
831 pDriver->SetFocus(nullptr); 831 pDriver->SetFocus(nullptr);
832 } else if (pSubFocus->GetStates() & FWL_WGTSTATE_Focused) { 832 } else if (pSubFocus->GetStates() & FWL_WGTSTATE_Focused) {
833 CFWL_MsgKillFocus ms; 833 CFWL_MsgKillFocus ms;
834 IFWL_WidgetDelegate* pDelegate = pSubFocus->SetDelegate(nullptr); 834 IFWL_WidgetDelegate* pDelegate = pSubFocus->SetDelegate(nullptr);
835 if (pDelegate) 835 if (pDelegate)
(...skipping 29 matching lines...) Expand all
865 case FWL_MouseCommand::LeftButtonDblClk: { 865 case FWL_MouseCommand::LeftButtonDblClk: {
866 OnLButtonDblClk(pMsg); 866 OnLButtonDblClk(pMsg);
867 break; 867 break;
868 } 868 }
869 default: 869 default:
870 break; 870 break;
871 } 871 }
872 break; 872 break;
873 } 873 }
874 case CFWL_MessageType::Size: { 874 case CFWL_MessageType::Size: {
875 CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance(); 875 CFWL_WidgetMgr* pWidgetMgr = m_pOwner->GetOwnerApp()->GetWidgetMgr();
876 if (!pWidgetMgr) 876 if (!pWidgetMgr)
877 return; 877 return;
878 878
879 pWidgetMgr->AddRedrawCounts(m_pOwner); 879 pWidgetMgr->AddRedrawCounts(m_pOwner);
880 if (!m_pOwner->m_bSetMaximize) 880 if (!m_pOwner->m_bSetMaximize)
881 break; 881 break;
882 882
883 m_pOwner->m_bSetMaximize = FALSE; 883 m_pOwner->m_bSetMaximize = FALSE;
884 CFWL_MsgSize* pMsg = static_cast<CFWL_MsgSize*>(pMessage); 884 CFWL_MsgSize* pMsg = static_cast<CFWL_MsgSize*>(pMessage);
885 m_pOwner->m_pProperties->m_rtWidget.left = 0; 885 m_pOwner->m_pProperties->m_rtWidget.left = 0;
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 1094
1095 uint32_t CFWL_SysBtn::GetPartState() const { 1095 uint32_t CFWL_SysBtn::GetPartState() const {
1096 if (IsDisabled()) 1096 if (IsDisabled())
1097 return CFWL_PartState_Disabled; 1097 return CFWL_PartState_Disabled;
1098 if (m_dwState & FWL_SYSBUTTONSTATE_Pressed) 1098 if (m_dwState & FWL_SYSBUTTONSTATE_Pressed)
1099 return CFWL_PartState_Pressed; 1099 return CFWL_PartState_Pressed;
1100 if (m_dwState & FWL_SYSBUTTONSTATE_Hover) 1100 if (m_dwState & FWL_SYSBUTTONSTATE_Hover)
1101 return CFWL_PartState_Hovered; 1101 return CFWL_PartState_Hovered;
1102 return CFWL_PartState_Normal; 1102 return CFWL_PartState_Normal;
1103 } 1103 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/ifwl_form.h ('k') | xfa/fwl/core/ifwl_formproxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698