Subject: PATCH request: edit headers
From: Bryce Nesbitt (bryce@obviously.com)
Date: Fri Dec 28 2001 - 17:51:41 CST
The edit headers menu items and toolbar can get out of sync.
You can even edit a header that's not inserted.
This quick patch makes the menu & the toolbar ghosting work the same.
I'm not convinced that headers & footers actually work at all :-), but it's
clear the ghosting of the menu & toolbar should be identical.
-Bryce
Index: wp/ap/xp/ap_Toolbar_ActionSet.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Toolbar_ActionSet.cpp,v
retrieving revision 1.38
diff -u -r1.38 ap_Toolbar_ActionSet.cpp
--- wp/ap/xp/ap_Toolbar_ActionSet.cpp 2001/12/14 22:01:47 1.38
+++ wp/ap/xp/ap_Toolbar_ActionSet.cpp 2001/12/28 23:44:28
@@ -88,8 +88,8 @@
_s(AP_TOOLBAR_ID_EDIT_COPY, EV_TBIT_PushButton, "copy", AV_CHG_EMPTYSEL, ap_ToolbarGetState_Selection);
_s(AP_TOOLBAR_ID_EDIT_PASTE, EV_TBIT_PushButton, "paste", AV_CHG_CLIPBOARD, ap_ToolbarGetState_Clipboard);
- _s(AP_TOOLBAR_ID_EDIT_HEADER, EV_TBIT_PushButton, "editHeader", AV_CHG_NONE, NULL);
- _s(AP_TOOLBAR_ID_EDIT_FOOTER, EV_TBIT_PushButton, "editFooter", AV_CHG_NONE, NULL);
+ _s(AP_TOOLBAR_ID_EDIT_HEADER, EV_TBIT_PushButton, "editHeader", AV_CHG_FRAMEDATA, ap_ToolbarGetState_HdrFtr); // !!! Correct AV_CHG used?
+ _s(AP_TOOLBAR_ID_EDIT_FOOTER, EV_TBIT_PushButton, "editFooter", AV_CHG_FRAMEDATA, ap_ToolbarGetState_HdrFtr); // !!! Correct AV_CHG used?
_s(AP_TOOLBAR_ID_EDIT_REMOVEHEADER, EV_TBIT_PushButton, "removeHeader", AV_CHG_MOTION, ap_ToolbarGetState_HdrFtr);
_s(AP_TOOLBAR_ID_EDIT_REMOVEFOOTER, EV_TBIT_PushButton, "removeFooter", AV_CHG_MOTION, ap_ToolbarGetState_HdrFtr);
Index: wp/ap/xp/ap_Toolbar_Functions.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Toolbar_Functions.cpp,v
retrieving revision 1.41
diff -u -r1.41 ap_Toolbar_Functions.cpp
--- wp/ap/xp/ap_Toolbar_Functions.cpp 2001/12/14 22:01:47 1.41
+++ wp/ap/xp/ap_Toolbar_Functions.cpp 2001/12/28 23:44:28
@@ -136,14 +136,29 @@
ABIWORD_VIEW;
UT_ASSERT(pView);
+ XAP_Frame * pFrame = static_cast<XAP_Frame *> (pAV_View->getParentData());
+ UT_ASSERT(pFrame);
+
+ AP_FrameData *pFrameData = static_cast<AP_FrameData *> (pFrame->getFrameData());
+ UT_ASSERT(pFrameData);
+
if (pszState)
*pszState = NULL;
EV_Toolbar_ItemState s = EV_TIS_ZERO;
-
switch (id)
{
+ case AP_TOOLBAR_ID_EDIT_HEADER:
+ if (pFrameData->m_pViewMode == VIEW_NORMAL)
+ s = EV_TIS_Gray;
+ break;
+
+ case AP_TOOLBAR_ID_EDIT_FOOTER:
+ if (pFrameData->m_pViewMode == VIEW_NORMAL)
+ s = EV_TIS_Gray;
+ break;
+
case AP_TOOLBAR_ID_EDIT_REMOVEHEADER:
if (!pView->isHeaderOnPage())
s = EV_TIS_Gray;
This archive was generated by hypermail 2b25 : Fri Dec 28 2001 - 17:53:41 CST