PATCH request: edit headers


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