Fixed sizing, caret garbage, and prefs bugs for Composer. Initial implementation of 'freeze frame' concept.

This commit is contained in:
cmanske%netscape.com 1998-10-13 21:01:06 +00:00
Родитель bf38b2292e
Коммит 6bd065234f
10 изменённых файлов: 48 добавлений и 35 удалений

Просмотреть файл

@ -1896,6 +1896,10 @@ void CDCCX::EraseBackground(MWContext *pContext, int iLocation,
int32 x, int32 y, uint32 width, uint32 height,
LO_Color *pColor)
{
#ifdef EDITOR
if( EDT_IS_EDITOR(pContext) )
WFE_HideEditCaret(pContext);
#endif
HDC hdc = GetContextDC();
int32 orgX = GetOriginX();
int32 orgY = GetOriginY();
@ -1912,6 +1916,10 @@ void CDCCX::EraseBackground(MWContext *pContext, int iLocation,
pColor);
ReleaseContextDC(hdc);
#ifdef EDITOR
if( EDT_IS_EDITOR(pContext) )
WFE_ShowEditCaret(pContext);
#endif
}
#endif /* LAYERS */

Просмотреть файл

@ -173,12 +173,6 @@ void CFrameGlue::RemoveActiveContextCB(ActiveContextCB cb)
}
}
// Override to test if frame is an editor
BOOL CFrameGlue::IsEditFrame()
{
return(FALSE);
}
CPtrList CFrameGlue::m_cplActiveNotifyCBList;
// Add to the top of the stack of active frames.
@ -229,7 +223,12 @@ CFrameGlue *CFrameGlue::GetLastActiveFrame(MWContextType cxType, int nFindEditor
POSITION rIndex = m_cplActiveFrameStack.GetHeadPosition();
while(rIndex != NULL) {
pRetval = (CFrameGlue *)m_cplActiveFrameStack.GetNext(rIndex);
// Skip over frames designated as "frozen"
if( ((CGenericFrame*)pRetval)->IsFrozenFrame() ) {
pRetval = NULL;
continue;
}
// See if we can get the type from the context, and verify the type.
if(pRetval->GetMainContext() != NULL) {
MWContextType cxRetType = pRetval->GetMainContext()->GetContext()->type;

Просмотреть файл

@ -79,8 +79,8 @@ public:
void ClearContext(CAbstractCX *pGone);
// Override this in Editors to return TRUE. Default = FALSE
virtual BOOL IsEditFrame();
// Override this in Editor Frame to return TRUE.
virtual BOOL IsEditFrame() {return FALSE; }
protected:
IChrome *m_pChrome;

Просмотреть файл

@ -213,6 +213,7 @@ CGenericFrame::CGenericFrame()
else
capStyle = DT_LEFT; // for NT 4.0 and Win95
#endif
m_bFreezeFrame = FALSE;
}
@ -880,7 +881,6 @@ BEGIN_MESSAGE_MAP(CGenericFrame, CFrameWnd)
ON_COMMAND(ID_COMMAND_PAGE_FROM_WIZARD, OnPageFromWizard)
ON_REGISTERED_MESSAGE(WM_HELPMSG, OnHelpMsg)
#ifdef ON_COMMAND_RANGE
ON_COMMAND_RANGE(ID_OPTIONS_ENCODING_1, ID_OPTIONS_ENCODING_70, OnToggleEncoding)
ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_ENCODING_1, ID_OPTIONS_ENCODING_70, OnUpdateEncoding)
@ -927,6 +927,8 @@ BEGIN_MESSAGE_MAP(CGenericFrame, CFrameWnd)
#ifdef DEBUG_WHITEBOX
ON_COMMAND(IDS_WHITEBOX_MENU, OnWhiteBox)
#endif
ON_COMMAND(ID_TOGGLE_FREEZE_FRAME, OnToggleFreezeFrame)
ON_UPDATE_COMMAND_UI(ID_TOGGLE_FREEZE_FRAME, OnUpdateToggleFreezeFrame)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
@ -3391,6 +3393,17 @@ LONG CGenericFrame::OnHackedMouseWheel(WPARAM wParam, LPARAM lParam)
}
#endif
void CGenericFrame::OnToggleFreezeFrame()
{
m_bFreezeFrame = !m_bFreezeFrame;
}
void CGenericFrame::OnUpdateToggleFreezeFrame( CCmdUI *pCmdUI )
{
pCmdUI->SetCheck(m_bFreezeFrame);
pCmdUI->Enable(TRUE);
}
// Call to start a new Browser window with supplied URL
// or load homepage if none supplied
@ -3411,5 +3424,3 @@ MWContext * wfe_CreateNavigator(char * pUrl)
// Always create a new context
return CFE_CreateNewDocWindow(NULL, pUrlStruct );
}

Просмотреть файл

@ -389,8 +389,15 @@ protected:
#ifdef DEBUG_WHITEBOX
afx_msg void OnWhiteBox();
#endif
afx_msg void OnToggleFreezeFrame();
afx_msg void OnUpdateToggleFreezeFrame( CCmdUI *pCmdUI );
DECLARE_MESSAGE_MAP()
public:
BOOL IsFrozenFrame() {return m_bFreezeFrame; }
private:
BOOL m_bFreezeFrame;
#ifdef EDITOR
public:
// Load a URL into a new edit window,

Просмотреть файл

@ -23,7 +23,9 @@
#include "prefuiid.h"
#include "isppageo.h"
#include <assert.h>
#define NUM_EDITOR_PAGES 3
// Note: Code for a 3rd page was kept (resource deleted)
// in case we want to add more latter
#define NUM_EDITOR_PAGES 2
// Create a new instance of our derived class and return it.
CComDll *
@ -133,7 +135,7 @@ CEditorCategory::GetPageObjects(CAPPAGE *pPages)
pPages->pElems[0] = new CEditorPrefs;
pPages->pElems[1] = new CPublishPrefs;
pPages->pElems[2] = new CEditorPrefs2;
// pPages->pElems[2] = new CEditorPrefs2;
for (ULONG i = 0; i < pPages->cElems; i++)
pPages->pElems[i]->AddRef();

Просмотреть файл

@ -130,15 +130,6 @@ BEGIN
EDITTEXT IDC_PUBLISH_HTTP,17,170,224,12,ES_AUTOHSCROLL
END
IDD_PREF_EDITOR2 DIALOG DISCARDABLE 0, 0, 186, 94
STYLE WS_CHILD | WS_CLIPSIBLINGS
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "Page Up/Down Moves Cursor",IDC_PAGEUPDOWN,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,7,111,10
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
@ -152,14 +143,6 @@ BEGIN
RIGHTMARGIN, 248
BOTTOMMARGIN, 186
END
IDD_PREF_EDITOR2, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 179
TOPMARGIN, 7
BOTTOMMARGIN, 87
END
END
#endif // APSTUDIO_INVOKED
@ -176,7 +159,6 @@ BEGIN
IDS_APP_FILTER "Executable (*.exe)\n*.exe\nAll Files (*.*)\n*.*\n\n"
IDS_CHOOSE_HTML_EDITOR "Choose HTML Editor Application"
IDS_CHOOSE_IMAGE_EDITOR "Choose Image Editor Application"
IDD_PREF_EDITOR2 "Navigational\nSet general navigational preferences for authoring Web pages"
END
#endif // English (U.S.) resources

Просмотреть файл

@ -84,7 +84,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Select &All\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "&Find in Page...\tCtrl+F", ID_EDIT_FINDINCURRENT
MENUITEM "&Find/Replace in Page...\tCtrl+F", ID_EDIT_FINDINCURRENT
MENUITEM "Find A&gain\tF3", ID_EDIT_FINDAGAIN
// Restore when implemented:
// MENUITEM "&Replace...", ID_EDT_FINDREPLACE
@ -470,7 +470,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Select &All\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "&Find in Message\tCtrl+F", ID_EDIT_FINDINCURRENT
MENUITEM "&Find/Replace in Message\tCtrl+F", ID_EDIT_FINDINCURRENT
MENUITEM "Find A&gain\tCtrl+G", ID_EDIT_FINDAGAIN
MENUITEM SEPARATOR
MENUITEM "Name Completion", ID_TOGGLENAMECOMPLETION

Просмотреть файл

@ -702,7 +702,10 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "A&bout Privacy", ID_PRIVACY_DISPLAY_TUTORIAL
END
#ifdef DEBUG_cmanske
MENUITEM SEPARATOR
MENUITEM "&Freeze Window Contents" ID_TOGGLE_FREEZE_FRAME
#endif
MENUITEM SEPARATOR
#ifdef XP_WIN16
MENUITEM "New Window" ID_WINDOW_WINDOW_0

Просмотреть файл

@ -193,6 +193,7 @@
#define IDS_INVALID_EMAIL 178
#define IDS_READNEWS_STATIC2 179
#define IDS_PE_ACCT_SETUP 180
#define ID_TOGGLE_FREEZE_FRAME 181
#define IDB_IMAGE_DELAYED 184
#define IDB_IMAGE_BAD 185
#define IDB_IMAGE_NOTFOUND 186