| Index: fpdfsdk/pdfwindow/PWL_Note.cpp
|
| diff --git a/fpdfsdk/pdfwindow/PWL_Note.cpp b/fpdfsdk/pdfwindow/PWL_Note.cpp
|
| index e0f9132b186b6e723d384c9af3e5232bb0a2ebce..964948ee53b0ceaddd684f574eb5740ee5403ffb 100644
|
| --- a/fpdfsdk/pdfwindow/PWL_Note.cpp
|
| +++ b/fpdfsdk/pdfwindow/PWL_Note.cpp
|
| @@ -137,17 +137,6 @@ void CPWL_Note_Edit::OnSetFocus() {
|
|
|
| void CPWL_Note_Edit::OnKillFocus() {
|
| EnableSpellCheck(FALSE);
|
| -
|
| - if (CPWL_Wnd* pParent = GetParentWindow()) {
|
| - if (CPWL_Wnd* pGrand = pParent->GetParentWindow()) {
|
| - ASSERT(pGrand->GetClassName() == "CPWL_NoteItem");
|
| -
|
| - CPWL_NoteItem* pNoteItem = (CPWL_NoteItem*)pGrand;
|
| -
|
| - pNoteItem->OnContentsValidate();
|
| - }
|
| - }
|
| -
|
| CPWL_Edit::OnKillFocus();
|
| }
|
|
|
| @@ -388,29 +377,6 @@ CFX_WideString CPWL_Note_Contents::GetText() const {
|
| return L"";
|
| }
|
|
|
| -CPWL_NoteItem* CPWL_Note_Contents::CreateSubItem() {
|
| - CPWL_NoteItem* pNoteItem = new CPWL_NoteItem;
|
| - PWL_CREATEPARAM icp = GetCreationParam();
|
| - icp.pParentWnd = this;
|
| - icp.dwFlags = PWS_CHILD | PWS_VISIBLE | PWS_BACKGROUND;
|
| - pNoteItem->Create(icp);
|
| -
|
| - pNoteItem->OnCreateNoteItem();
|
| -
|
| - pNoteItem->ResetSubjectName(m_aChildren.GetSize() - 1);
|
| -
|
| - FX_SYSTEMTIME st;
|
| - if (IFX_SystemHandler* pSH = GetSystemHandler())
|
| - st = pSH->GetLocalTime();
|
| - pNoteItem->SetDateTime(st);
|
| -
|
| - pNoteItem->SetContents(L"");
|
| -
|
| - OnNotify(pNoteItem, PNM_NOTEEDITCHANGED, 0, 0);
|
| -
|
| - return pNoteItem;
|
| -}
|
| -
|
| int32_t CPWL_Note_Contents::CountSubItems() const {
|
| return m_aChildren.GetSize() - 1;
|
| }
|
| @@ -428,28 +394,6 @@ IPWL_NoteItem* CPWL_Note_Contents::GetSubItems(int32_t index) const {
|
| return NULL;
|
| }
|
|
|
| -void CPWL_Note_Contents::DeleteSubItem(IPWL_NoteItem* pNoteItem) {
|
| - int32_t nIndex = GetItemIndex((CPWL_NoteItem*)pNoteItem);
|
| -
|
| - if (nIndex > 0) {
|
| - if (CPWL_NoteItem* pPWLNoteItem = (CPWL_NoteItem*)pNoteItem) {
|
| - pPWLNoteItem->KillFocus();
|
| - pPWLNoteItem->Destroy();
|
| - delete pPWLNoteItem;
|
| - }
|
| -
|
| - for (int32_t i = nIndex, sz = m_aChildren.GetSize(); i < sz; i++) {
|
| - if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) {
|
| - ASSERT(pChild->GetClassName() == "CPWL_NoteItem");
|
| - CPWL_NoteItem* pItem = (CPWL_NoteItem*)pChild;
|
| - pItem->ResetSubjectName(i);
|
| - }
|
| - }
|
| -
|
| - OnNotify(this, PNM_NOTEEDITCHANGED, 0, 0);
|
| - }
|
| -}
|
| -
|
| IPWL_NoteItem* CPWL_Note_Contents::GetHitNoteItem(const CFX_FloatPoint& point) {
|
| CFX_FloatPoint pt = ParentToChild(point);
|
|
|
| @@ -691,51 +635,11 @@ void CPWL_NoteItem::SetBkColor(const CPWL_Color& color) {
|
| m_pDateTime->SetTextColor(sTextColor);
|
|
|
| InvalidateRect(nullptr);
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetBkColor(this);
|
| - }
|
| }
|
|
|
| void CPWL_NoteItem::SetSubjectName(const CFX_WideString& sName) {
|
| - if (m_pSubject) {
|
| + if (m_pSubject)
|
| m_pSubject->SetText(sName.c_str());
|
| - }
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetSubjectName(this);
|
| - }
|
| -}
|
| -
|
| -void CPWL_NoteItem::SetAuthorName(const CFX_WideString& sName) {
|
| - m_sAuthor = sName;
|
| - ResetSubjectName(-1);
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetAuthorName(this);
|
| - }
|
| -}
|
| -
|
| -void CPWL_NoteItem::ResetSubjectName(int32_t nItemIndex) {
|
| - if (nItemIndex < 0) {
|
| - if (CPWL_Wnd* pParent = GetParentWindow()) {
|
| - ASSERT(pParent->GetClassName() == "CPWL_Note_Contents");
|
| -
|
| - CPWL_Note_Contents* pContents = (CPWL_Note_Contents*)pParent;
|
| - nItemIndex = pContents->GetItemIndex(this);
|
| - }
|
| - }
|
| -
|
| - const CPWL_Note* pNote = GetNote();
|
| - CFX_WideString sSubject;
|
| - sSubject.Format(pNote->GetReplyString().c_str(), nItemIndex);
|
| -
|
| - if (!m_sAuthor.IsEmpty()) {
|
| - sSubject += L" - ";
|
| - sSubject += m_sAuthor;
|
| - }
|
| - SetSubjectName(sSubject);
|
| - RePosChildWnd();
|
| }
|
|
|
| void CPWL_NoteItem::SetDateTime(FX_SYSTEMTIME time) {
|
| @@ -749,20 +653,12 @@ void CPWL_NoteItem::SetDateTime(FX_SYSTEMTIME time) {
|
| }
|
|
|
| RePosChildWnd();
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetDateTime(this);
|
| - }
|
| }
|
|
|
| void CPWL_NoteItem::SetContents(const CFX_WideString& sContents) {
|
| if (m_pContents) {
|
| m_pContents->SetText(sContents);
|
| }
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetContents(this);
|
| - }
|
| }
|
|
|
| CPWL_NoteItem* CPWL_NoteItem::GetParentNoteItem() const {
|
| @@ -816,17 +712,6 @@ CFX_WideString CPWL_NoteItem::GetSubjectName() const {
|
| return L"";
|
| }
|
|
|
| -CPWL_NoteItem* CPWL_NoteItem::CreateNoteItem() {
|
| - if (m_pContents)
|
| - return m_pContents->CreateSubItem();
|
| -
|
| - return NULL;
|
| -}
|
| -
|
| -IPWL_NoteItem* CPWL_NoteItem::CreateSubItem() {
|
| - return CreateNoteItem();
|
| -}
|
| -
|
| int32_t CPWL_NoteItem::CountSubItems() const {
|
| if (m_pContents)
|
| return m_pContents->CountSubItems();
|
| @@ -841,17 +726,6 @@ IPWL_NoteItem* CPWL_NoteItem::GetSubItems(int32_t index) const {
|
| return NULL;
|
| }
|
|
|
| -void CPWL_NoteItem::DeleteSubItem(IPWL_NoteItem* pNoteItem) {
|
| - KillFocus();
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnItemDelete(pNoteItem);
|
| - }
|
| -
|
| - if (m_pContents)
|
| - m_pContents->DeleteSubItem(pNoteItem);
|
| -}
|
| -
|
| IPWL_NoteItem* CPWL_NoteItem::GetHitNoteItem(const CFX_FloatPoint& point) {
|
| CFX_FloatPoint pt = ParentToChild(point);
|
|
|
| @@ -969,44 +843,6 @@ void CPWL_NoteItem::OnNotify(CPWL_Wnd* pWnd,
|
| }
|
|
|
| void CPWL_NoteItem::PopupNoteItemMenu(const CFX_FloatPoint& point) {
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - int32_t x, y;
|
| - PWLtoWnd(point, x, y);
|
| - if (IFX_SystemHandler* pSH = GetSystemHandler())
|
| - pSH->ClientToScreen(GetAttachedHWnd(), x, y);
|
| - pNotify->OnPopupMenu(this, x, y);
|
| - }
|
| -}
|
| -
|
| -const CPWL_Note* CPWL_NoteItem::GetNote() const {
|
| - if (const CPWL_Wnd* pRoot = GetRootWnd()) {
|
| - ASSERT(pRoot->GetClassName() == "CPWL_NoteItem");
|
| - CPWL_NoteItem* pNoteItem = (CPWL_NoteItem*)pRoot;
|
| - if (pNoteItem->IsTopItem()) {
|
| - return (CPWL_Note*)pNoteItem;
|
| - }
|
| - }
|
| -
|
| - return NULL;
|
| -}
|
| -
|
| -IPWL_NoteNotify* CPWL_NoteItem::GetNoteNotify() const {
|
| - if (const CPWL_Note* pNote = GetNote())
|
| - return pNote->GetNoteNotify();
|
| -
|
| - return NULL;
|
| -}
|
| -
|
| -void CPWL_NoteItem::OnCreateNoteItem() {
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnItemCreate(this);
|
| - }
|
| -}
|
| -
|
| -void CPWL_NoteItem::OnContentsValidate() {
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetContents(this);
|
| - }
|
| }
|
|
|
| void CPWL_NoteItem::SetNoteFocus(FX_BOOL bLast) {
|
| @@ -1021,493 +857,3 @@ void CPWL_NoteItem::EnableModify(FX_BOOL bEnabled) {
|
| void CPWL_NoteItem::EnableRead(FX_BOOL bEnabled) {
|
| m_pContents->EnableRead(bEnabled);
|
| }
|
| -
|
| -CPWL_Note::CPWL_Note(IPopup_Note* pPopupNote,
|
| - IPWL_NoteNotify* pNoteNotify,
|
| - IPWL_NoteHandler* pNoteHandler)
|
| - : m_pAuthor(NULL),
|
| - m_pIcon(NULL),
|
| - m_pCloseBox(NULL),
|
| - m_pLBBox(NULL),
|
| - m_pRBBox(NULL),
|
| - m_pContentsBar(NULL),
|
| - m_pOptions(NULL),
|
| - m_pNoteNotify(pNoteNotify),
|
| - m_bResizing(FALSE),
|
| - m_bEnableNotify(TRUE) {}
|
| -
|
| -CPWL_Note::~CPWL_Note() {}
|
| -
|
| -IPWL_NoteItem* CPWL_Note::Reply() {
|
| - return CreateNoteItem();
|
| -}
|
| -
|
| -void CPWL_Note::EnableNotify(FX_BOOL bEnabled) {
|
| - m_bEnableNotify = bEnabled;
|
| -}
|
| -
|
| -void CPWL_Note::RePosChildWnd() {
|
| - RePosNoteChildren();
|
| - m_pContents->OnNotify(this, PNM_NOTERESET, 0, 0);
|
| - ResetScrollBar();
|
| - m_pContents->OnNotify(this, PNM_NOTERESET, 0, 0);
|
| - OnNotify(this, PNM_NOTEEDITCHANGED, 0, 0);
|
| - if (const CPWL_Wnd* pWnd = GetFocused()) {
|
| - if (pWnd->GetClassName() == "CPWL_Edit") {
|
| - CPWL_Edit* pEdit = (CPWL_Edit*)pWnd;
|
| - pEdit->SetCaret(pEdit->GetCaret());
|
| - }
|
| - }
|
| -}
|
| -
|
| -FX_BOOL CPWL_Note::ResetScrollBar() {
|
| - FX_BOOL bScrollChanged = FALSE;
|
| -
|
| - if (ScrollBarShouldVisible()) {
|
| - if (!m_pContentsBar->IsVisible()) {
|
| - m_pContentsBar->SetVisible(TRUE);
|
| - if (m_pContentsBar->IsVisible()) {
|
| - m_pContentsBar->InvalidateRect(NULL);
|
| - bScrollChanged = TRUE;
|
| - }
|
| - }
|
| - } else {
|
| - if (m_pContentsBar->IsVisible()) {
|
| - m_pContentsBar->SetVisible(FALSE);
|
| - m_pContentsBar->InvalidateRect(NULL);
|
| -
|
| - bScrollChanged = TRUE;
|
| - }
|
| - }
|
| -
|
| - if (bScrollChanged) {
|
| - CFX_FloatRect rcNote = GetClientRect();
|
| - CFX_FloatRect rcContents = m_pContents->GetWindowRect();
|
| - rcContents.right = rcNote.right - 3.0f;
|
| - if (m_pContentsBar->IsVisible())
|
| - rcContents.right -= PWL_SCROLLBAR_WIDTH;
|
| - m_pContents->Move(rcContents, TRUE, TRUE);
|
| - m_pContents->SetScrollPos(CFX_FloatPoint(0.0f, 0.0f));
|
| - m_pContents->InvalidateRect(NULL);
|
| - }
|
| -
|
| - return bScrollChanged;
|
| -}
|
| -
|
| -FX_BOOL CPWL_Note::ScrollBarShouldVisible() {
|
| - CFX_FloatRect rcContentsFact = m_pContents->GetScrollArea();
|
| - CFX_FloatRect rcContentsClient = m_pContents->GetClientRect();
|
| -
|
| - return rcContentsFact.Height() > rcContentsClient.Height();
|
| -}
|
| -
|
| -void CPWL_Note::SetOptionsText(const CFX_WideString& sText) {
|
| - if (m_pOptions)
|
| - m_pOptions->SetText(sText);
|
| -
|
| - RePosNoteChildren();
|
| -}
|
| -
|
| -void CPWL_Note::RePosNoteChildren() {
|
| - if (m_bResizing)
|
| - return;
|
| -
|
| - m_bResizing = TRUE;
|
| -
|
| - if (IsValid()) {
|
| - CFX_FloatRect rcClient = GetClientRect();
|
| -
|
| - CFX_FloatRect rcIcon = rcClient;
|
| - rcIcon.top -= 2.0f;
|
| - rcIcon.right = rcIcon.left + 14.0f;
|
| - rcIcon.bottom = rcIcon.top - 14.0f;
|
| - rcIcon.Normalize();
|
| - m_pIcon->Move(rcIcon, TRUE, FALSE);
|
| - m_pIcon->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcIcon));
|
| -
|
| - CFX_FloatRect rcCloseBox = rcClient;
|
| - rcCloseBox.right -= 1.0f;
|
| - rcCloseBox.top -= 1.0f;
|
| - rcCloseBox.left = rcCloseBox.right - 14.0f;
|
| - rcCloseBox.bottom = rcCloseBox.top - 14.0f;
|
| - rcCloseBox.Normalize();
|
| - m_pCloseBox->Move(rcCloseBox, TRUE, FALSE);
|
| - m_pCloseBox->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcCloseBox));
|
| -
|
| - CFX_FloatRect rcDate = rcClient;
|
| - rcDate.right = rcCloseBox.left - POPUP_ITEM_TEXT_INDENT;
|
| - rcDate.left =
|
| - PWL_MAX(rcDate.right - m_pDateTime->GetContentRect().Width() - 1.0f,
|
| - rcIcon.right + 1.0f);
|
| - rcDate.top = rcClient.top - 2.0f;
|
| - rcDate.bottom = rcDate.top - m_pDateTime->GetContentRect().Height();
|
| - rcDate.Normalize();
|
| - m_pDateTime->Move(rcDate, TRUE, FALSE);
|
| - m_pDateTime->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcDate));
|
| -
|
| - CFX_FloatRect rcSubject = rcClient;
|
| - rcSubject.top = rcClient.top - 2.0f;
|
| - rcSubject.left = rcIcon.right + POPUP_ITEM_TEXT_INDENT;
|
| - rcSubject.right =
|
| - PWL_MIN(rcSubject.left + m_pSubject->GetContentRect().Width() + 1.0f,
|
| - rcDate.left - 1.0f);
|
| - rcSubject.bottom = rcSubject.top - m_pSubject->GetContentRect().Height();
|
| - rcSubject.Normalize();
|
| - m_pSubject->Move(rcSubject, TRUE, FALSE);
|
| - m_pSubject->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcSubject));
|
| -
|
| - CFX_FloatRect rcOptions = rcClient;
|
| - rcOptions.left =
|
| - PWL_MAX(rcOptions.right - m_pOptions->GetContentRect().Width(),
|
| - rcIcon.right + 1.0f);
|
| - rcOptions.top = rcSubject.bottom - 4.0f;
|
| - rcOptions.bottom = rcOptions.top - m_pOptions->GetContentRect().Height();
|
| - rcOptions.Normalize();
|
| - m_pOptions->Move(rcOptions, TRUE, FALSE);
|
| - m_pOptions->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcOptions));
|
| -
|
| - CFX_FloatRect rcAuthor = rcClient;
|
| - rcAuthor.top = rcSubject.bottom - 4.0f;
|
| - rcAuthor.left = rcSubject.left;
|
| - rcAuthor.right =
|
| - PWL_MIN(rcSubject.left + m_pAuthor->GetContentRect().Width() + 1.0f,
|
| - rcOptions.left - 1.0f);
|
| - rcAuthor.bottom = rcAuthor.top - m_pAuthor->GetContentRect().Height();
|
| - rcAuthor.Normalize();
|
| - m_pAuthor->Move(rcAuthor, TRUE, FALSE);
|
| - m_pAuthor->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcAuthor));
|
| -
|
| - CFX_FloatRect rcLBBox = rcClient;
|
| - rcLBBox.top = rcLBBox.bottom + 7.0f;
|
| - rcLBBox.right = rcLBBox.left + 7.0f;
|
| - rcLBBox.Normalize();
|
| - m_pLBBox->Move(rcLBBox, TRUE, FALSE);
|
| - m_pLBBox->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcLBBox));
|
| -
|
| - CFX_FloatRect rcRBBox = rcClient;
|
| - rcRBBox.top = rcRBBox.bottom + 7.0f;
|
| - rcRBBox.left = rcRBBox.right - 7.0f;
|
| - rcRBBox.Normalize();
|
| - m_pRBBox->Move(rcRBBox, TRUE, FALSE);
|
| - m_pRBBox->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcRBBox));
|
| -
|
| - CFX_FloatRect rcContents = rcClient;
|
| - rcContents.top = rcAuthor.bottom - POPUP_ITEM_HEAD_BOTTOM;
|
| - rcContents.left += 3.0f;
|
| - rcContents.right -= 3.0f;
|
| - if (m_pContentsBar->IsVisible())
|
| - rcContents.right -= PWL_SCROLLBAR_WIDTH;
|
| - rcContents.bottom += 14.0f;
|
| - rcContents.Normalize();
|
| - m_pContents->Move(rcContents, FALSE, FALSE);
|
| - m_pContents->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcContents));
|
| -
|
| - CFX_FloatRect rcContentsBar = rcContents;
|
| - rcContentsBar.right = rcClient.right - 3.0f;
|
| - rcContentsBar.left = rcContentsBar.right - PWL_SCROLLBAR_WIDTH;
|
| - rcContentsBar.Normalize();
|
| - m_pContentsBar->Move(rcContentsBar, TRUE, FALSE);
|
| - }
|
| -
|
| - m_bResizing = FALSE;
|
| -}
|
| -
|
| -void CPWL_Note::CreateChildWnd(const PWL_CREATEPARAM& cp) {
|
| - CPWL_NoteItem::CreateChildWnd(cp);
|
| -
|
| - CPWL_Color sTextColor;
|
| -
|
| - if (CPWL_Utils::IsBlackOrWhite(GetBackgroundColor()))
|
| - sTextColor = PWL_DEFAULT_WHITECOLOR;
|
| - else
|
| - sTextColor = PWL_DEFAULT_BLACKCOLOR;
|
| -
|
| - m_pAuthor = new CPWL_Label;
|
| - PWL_CREATEPARAM acp = cp;
|
| - acp.pParentWnd = this;
|
| - acp.dwFlags = PWS_VISIBLE | PWS_CHILD | PES_LEFT | PES_TOP;
|
| - acp.sTextColor = sTextColor;
|
| - m_pAuthor->Create(acp);
|
| -
|
| - m_pCloseBox = new CPWL_Note_CloseBox;
|
| - PWL_CREATEPARAM ccp = cp;
|
| - ccp.pParentWnd = this;
|
| - ccp.dwBorderWidth = 2;
|
| - ccp.nBorderStyle = PBS_BEVELED;
|
| - ccp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER;
|
| - ccp.sTextColor = sTextColor;
|
| - m_pCloseBox->Create(ccp);
|
| -
|
| - m_pIcon = new CPWL_Note_Icon;
|
| - PWL_CREATEPARAM icp = cp;
|
| - icp.pParentWnd = this;
|
| - icp.dwFlags = PWS_VISIBLE | PWS_CHILD;
|
| - m_pIcon->Create(icp);
|
| -
|
| - m_pOptions = new CPWL_Note_Options;
|
| - PWL_CREATEPARAM ocp = cp;
|
| - ocp.pParentWnd = this;
|
| - ocp.dwFlags = PWS_CHILD | PWS_VISIBLE;
|
| - ocp.sTextColor = sTextColor;
|
| - m_pOptions->Create(ocp);
|
| -
|
| - m_pLBBox = new CPWL_Note_LBBox;
|
| - PWL_CREATEPARAM lcp = cp;
|
| - lcp.pParentWnd = this;
|
| - lcp.dwFlags = PWS_VISIBLE | PWS_CHILD;
|
| - lcp.eCursorType = FXCT_NESW;
|
| - lcp.sTextColor = sTextColor;
|
| - m_pLBBox->Create(lcp);
|
| -
|
| - m_pRBBox = new CPWL_Note_RBBox;
|
| - PWL_CREATEPARAM rcp = cp;
|
| - rcp.pParentWnd = this;
|
| - rcp.dwFlags = PWS_VISIBLE | PWS_CHILD;
|
| - rcp.eCursorType = FXCT_NWSE;
|
| - rcp.sTextColor = sTextColor;
|
| - m_pRBBox->Create(rcp);
|
| -
|
| - m_pContentsBar = new CPWL_ScrollBar(SBT_VSCROLL);
|
| - PWL_CREATEPARAM scp = cp;
|
| - scp.pParentWnd = this;
|
| - scp.sBackgroundColor =
|
| - CPWL_Color(COLORTYPE_RGB, 240 / 255.0f, 240 / 255.0f, 240 / 255.0f);
|
| - scp.dwFlags = PWS_CHILD | PWS_VISIBLE | PWS_BACKGROUND;
|
| - m_pContentsBar->Create(scp);
|
| - m_pContentsBar->SetNotifyForever(TRUE);
|
| -}
|
| -
|
| -void CPWL_Note::SetSubjectName(const CFX_WideString& sName) {
|
| - CPWL_NoteItem::SetSubjectName(sName);
|
| - RePosChildWnd();
|
| -}
|
| -
|
| -void CPWL_Note::SetAuthorName(const CFX_WideString& sName) {
|
| - if (m_pAuthor) {
|
| - m_pAuthor->SetText(sName.c_str());
|
| - RePosChildWnd();
|
| - }
|
| -
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - pNotify->OnSetAuthorName(this);
|
| - }
|
| -}
|
| -
|
| -CFX_WideString CPWL_Note::GetAuthorName() const {
|
| - if (m_pAuthor)
|
| - return m_pAuthor->GetText();
|
| -
|
| - return L"";
|
| -}
|
| -
|
| -FX_BOOL CPWL_Note::OnMouseWheel(short zDelta,
|
| - const CFX_FloatPoint& point,
|
| - uint32_t nFlag) {
|
| - CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
|
| - CFX_FloatRect rcScroll = m_pContents->GetScrollArea();
|
| - CFX_FloatRect rcContents = m_pContents->GetClientRect();
|
| -
|
| - if (rcScroll.top - rcScroll.bottom > rcContents.Height()) {
|
| - CFX_FloatPoint ptNew = ptScroll;
|
| -
|
| - if (zDelta > 0)
|
| - ptNew.y += 30;
|
| - else
|
| - ptNew.y -= 30;
|
| -
|
| - if (ptNew.y > rcScroll.top)
|
| - ptNew.y = rcScroll.top;
|
| - if (ptNew.y < rcScroll.bottom + rcContents.Height())
|
| - ptNew.y = rcScroll.bottom + rcContents.Height();
|
| - if (ptNew.y < rcScroll.bottom)
|
| - ptNew.y = rcScroll.bottom;
|
| -
|
| - if (ptNew.y != ptScroll.y) {
|
| - m_pContents->OnNotify(this, PNM_NOTERESET, 0, 0);
|
| - m_pContents->OnNotify(this, PNM_SCROLLWINDOW, SBT_VSCROLL,
|
| - (intptr_t)&ptNew.y);
|
| - m_pContentsBar->OnNotify(this, PNM_SETSCROLLPOS, SBT_VSCROLL,
|
| - (intptr_t)&ptNew.y);
|
| -
|
| - return TRUE;
|
| - }
|
| - }
|
| -
|
| - return FALSE;
|
| -}
|
| -
|
| -void CPWL_Note::OnNotify(CPWL_Wnd* pWnd,
|
| - uint32_t msg,
|
| - intptr_t wParam,
|
| - intptr_t lParam) {
|
| - switch (msg) {
|
| - case PNM_NOTEEDITCHANGED: {
|
| - CFX_FloatRect rcScroll = m_pContents->GetScrollArea();
|
| -
|
| - PWL_SCROLL_INFO sInfo;
|
| - sInfo.fContentMin = rcScroll.bottom;
|
| - sInfo.fContentMax = rcScroll.top;
|
| - sInfo.fPlateWidth = m_pContents->GetClientRect().Height();
|
| - sInfo.fSmallStep = 13.0f;
|
| - sInfo.fBigStep = sInfo.fPlateWidth;
|
| -
|
| - if (FXSYS_memcmp(&m_OldScrollInfo, &sInfo, sizeof(PWL_SCROLL_INFO)) !=
|
| - 0) {
|
| - FX_BOOL bScrollChanged = FALSE;
|
| -
|
| - if (lParam < 3) {
|
| - bScrollChanged = ResetScrollBar();
|
| - if (bScrollChanged) {
|
| - lParam++;
|
| - m_pContents->OnNotify(this, PNM_NOTERESET, 0, 0);
|
| - OnNotify(this, PNM_NOTEEDITCHANGED, 0, lParam);
|
| - }
|
| - }
|
| -
|
| - if (!bScrollChanged) {
|
| - if (m_pContentsBar->IsVisible()) {
|
| - m_pContentsBar->OnNotify(pWnd, PNM_SETSCROLLINFO, SBT_VSCROLL,
|
| - (intptr_t)&sInfo);
|
| - m_OldScrollInfo = sInfo;
|
| -
|
| - CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
|
| - CFX_FloatPoint ptOld = ptScroll;
|
| -
|
| - if (ptScroll.y > sInfo.fContentMax)
|
| - ptScroll.y = sInfo.fContentMax;
|
| - if (ptScroll.y < sInfo.fContentMin + sInfo.fPlateWidth)
|
| - ptScroll.y = sInfo.fContentMin + sInfo.fPlateWidth;
|
| - if (ptScroll.y < sInfo.fContentMin)
|
| - ptScroll.y = sInfo.fContentMin;
|
| -
|
| - if (ptOld.y != ptScroll.y) {
|
| - m_pContentsBar->OnNotify(this, PNM_SETSCROLLPOS, SBT_VSCROLL,
|
| - (intptr_t)&ptScroll.y);
|
| - m_pContentsBar->InvalidateRect(NULL);
|
| - m_pContents->OnNotify(this, PNM_SCROLLWINDOW, SBT_VSCROLL,
|
| - (intptr_t)&ptScroll.y);
|
| - }
|
| - }
|
| - }
|
| - }
|
| - }
|
| -
|
| - m_pContents->InvalidateRect(NULL);
|
| -
|
| - return;
|
| - case PNM_SCROLLWINDOW:
|
| - if (m_pContents)
|
| - m_pContents->OnNotify(pWnd, msg, wParam, lParam);
|
| - return;
|
| - case PNM_SETSCROLLPOS:
|
| - if (m_pContentsBar)
|
| - m_pContentsBar->OnNotify(pWnd, PNM_SETSCROLLPOS, wParam, lParam);
|
| - return;
|
| - }
|
| -
|
| - if (msg == PNM_SETCARETINFO && IsValid()) {
|
| - if (PWL_CARET_INFO* pInfo = (PWL_CARET_INFO*)wParam) {
|
| - if (m_pContents) {
|
| - CFX_FloatRect rcClient = m_pContents->GetClientRect();
|
| - if (pInfo->ptHead.y > rcClient.top) {
|
| - CFX_FloatPoint pt = m_pContents->OutToIn(pInfo->ptHead);
|
| - m_pContents->OnNotify(this, PNM_SCROLLWINDOW, SBT_VSCROLL,
|
| - (intptr_t)&pt.y);
|
| -
|
| - CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
|
| - m_pContentsBar->OnNotify(this, PNM_SETSCROLLPOS, SBT_VSCROLL,
|
| - (intptr_t)&ptScroll.y);
|
| -
|
| - return;
|
| - }
|
| -
|
| - if (pInfo->ptFoot.y < rcClient.bottom) {
|
| - CFX_FloatPoint pt = m_pContents->OutToIn(pInfo->ptFoot);
|
| - pt.y += rcClient.Height();
|
| - m_pContents->OnNotify(this, PNM_SCROLLWINDOW, SBT_VSCROLL,
|
| - (intptr_t)&pt.y);
|
| -
|
| - CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
|
| - m_pContentsBar->OnNotify(this, PNM_SETSCROLLPOS, SBT_VSCROLL,
|
| - (intptr_t)&ptScroll.y);
|
| -
|
| - return;
|
| - }
|
| - }
|
| - }
|
| - }
|
| -
|
| - CPWL_NoteItem::OnNotify(pWnd, msg, wParam, lParam);
|
| -}
|
| -
|
| -void CPWL_Note::SetBkColor(const CPWL_Color& color) {
|
| - CPWL_NoteItem::SetBkColor(color);
|
| -
|
| - CPWL_Color sBK = color;
|
| - CPWL_Color sTextColor;
|
| - if (CPWL_Utils::IsBlackOrWhite(sBK))
|
| - sTextColor = PWL_DEFAULT_WHITECOLOR;
|
| - else
|
| - sTextColor = PWL_DEFAULT_BLACKCOLOR;
|
| -
|
| - if (m_pCloseBox)
|
| - m_pCloseBox->SetTextColor(sTextColor);
|
| - if (m_pAuthor)
|
| - m_pAuthor->SetTextColor(sTextColor);
|
| - if (m_pOptions)
|
| - m_pOptions->SetTextColor(sTextColor);
|
| - if (m_pLBBox)
|
| - m_pLBBox->SetTextColor(sTextColor);
|
| - if (m_pRBBox)
|
| - m_pRBBox->SetTextColor(sTextColor);
|
| -}
|
| -
|
| -FX_BOOL CPWL_Note::OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag) {
|
| - if (m_pOptions->WndHitTest(m_pOptions->ParentToChild(point))) {
|
| - if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
|
| - int32_t x, y;
|
| - PWLtoWnd(point, x, y);
|
| - if (IFX_SystemHandler* pSH = GetSystemHandler())
|
| - pSH->ClientToScreen(GetAttachedHWnd(), x, y);
|
| - KillFocus();
|
| - pNotify->OnPopupMenu(x, y);
|
| -
|
| - return TRUE;
|
| - }
|
| - }
|
| -
|
| - return CPWL_Wnd::OnLButtonDown(point, nFlag);
|
| -}
|
| -
|
| -FX_BOOL CPWL_Note::OnRButtonUp(const CFX_FloatPoint& point, uint32_t nFlag) {
|
| - return CPWL_Wnd::OnRButtonUp(point, nFlag);
|
| -}
|
| -
|
| -const CPWL_Note* CPWL_Note::GetNote() const {
|
| - return this;
|
| -}
|
| -
|
| -IPWL_NoteNotify* CPWL_Note::GetNoteNotify() const {
|
| - return m_bEnableNotify ? m_pNoteNotify : nullptr;
|
| -}
|
| -
|
| -void CPWL_Note::SetIconType(int32_t nType) {
|
| - if (m_pIcon)
|
| - m_pIcon->SetIconType(nType);
|
| -}
|
| -
|
| -void CPWL_Note::EnableModify(FX_BOOL bEnabled) {
|
| - m_pContents->EnableModify(bEnabled);
|
| -}
|
| -
|
| -void CPWL_Note::EnableRead(FX_BOOL bEnabled) {
|
| - m_pContents->EnableRead(bEnabled);
|
| -}
|
| -
|
| -CFX_WideString CPWL_Note::GetReplyString() const {
|
| - return m_sReplyString;
|
| -}
|
| -
|
| -void CPWL_Note::SetReplyString(const CFX_WideString& str) {
|
| - m_sReplyString = str;
|
| -}
|
|
|