Composer work: Menus, paste style, paragraph properties dialog improvements, remove P_MENU, P_DIRECTORY

This commit is contained in:
cmanske%netscape.com 1998-09-02 13:12:58 +00:00
Родитель 76843888e4
Коммит 89bebf4ded
14 изменённых файлов: 155 добавлений и 307 удалений

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

@ -2573,11 +2573,6 @@ CWinCX::OnLButtonUpForLayerCX(UINT uFlags, CPoint& cpPoint, XY& Point,
}
if( EDT_IS_EDITOR(pMWContext) )
{
if( EDT_CanPasteStyle(pMWContext) )
{
// Apply style if available
EDT_PasteStyle(pMWContext, TRUE);
}
// Cancel any attempt to drag a table or cell
EDT_StopDragTable(pMWContext);
}
@ -6310,12 +6305,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
if( EDT_IS_EDITOR(context) )
{
#ifdef EDITOR
if( EDT_CanPasteStyle(context) )
{
SetCursor(theApp.LoadCursor(IDC_COPY_STYLE));
bCursorSet = TRUE;
}
else if( bMouseInSelection )
if( bMouseInSelection )
{
// Indicate that user can drag selected text with special cursor
SetCursor(theApp.LoadCursor(IDC_IBEAM_HAND));

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

@ -429,21 +429,31 @@ void CComboToolBar::SetComboBox( UINT nID, CComboBox * pComboBox,
for ( ; i < m_nCount; i++, pInfo++ ) {
if ( pInfo->bComboBox && pInfo->pComboBox == 0 )
{
// Need extra amount: 10 pixels above and below edit box?
int iEditHeight = pComboBox->GetItemHeight(-1) + 10;
int iItemHeight = pComboBox->GetItemHeight(0);
// Calculate full height from number of items,
if ( nListHeight == 0 ) {
// Need extra amount: 10 pixels above and below edit box?
int iEditHeight = pComboBox->GetItemHeight(-1) + 10;
int iItemHeight = pComboBox->GetItemHeight(0);
// but limit size to less than half the screen height
// else single click in combo will immediately select because
// list is drawn on top of closed combobbox
nListHeight = min( sysInfo.m_iScreenHeight / 2,
iEditHeight + (pComboBox->GetCount() * iItemHeight) );
if ( nListHeight == 0 )
nListHeight = iEditHeight + (pComboBox->GetCount() * iItemHeight);
if( nListWidth == 0 )
nListWidth = nWidth;
// Limit the height to less than half the screen height
// else single click in combo might immediately select because
// list is drawn on top of closed combobbox
// (happens only when combobox is at vertical center,
// but we need to set the height for all cases)
UINT nMaxHeight = (::GetSystemMetrics(SM_CYSCREEN) / 2);
if( nListHeight > nMaxHeight )
{
nListHeight = nMaxHeight;
nListWidth += sysInfo.m_iScrollWidth;
}
// Save the pointer for resizing box when controls are hidden
pInfo->pComboBox = pComboBox;
// Save command ID and width
pInfo->nID = nID;
// Add extra space (built-in separator) after right edge,

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

@ -1465,5 +1465,5 @@ void CGetColumnsDlg::DoDataExchange(CDataExchange* pDX)
ED_CharsetEncode FE_EncodingDialog(MWContext* pMWContext)
{
// TODO: Implement this!
return ED_ENCODE_CANCEL;
return ED_ENDCODE_CANCEL;
}

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

@ -114,8 +114,8 @@ static UINT BASED_CODE nIDCharButtonBarArray[] =
ID_FORMAT_CHAR_ITALIC,
ID_FORMAT_CHAR_UNDERLINE,
ID_FORMAT_CHAR_NONE,
ID_UNUM_LIST,
ID_NUM_LIST,
ID_FORMAT_UNUM_LIST,
ID_FORMAT_NUM_LIST,
ID_FORMAT_OUTDENT,
ID_FORMAT_INDENT,
ID_ALIGN_POPUP,
@ -132,8 +132,8 @@ static UINT BASED_CODE nIDCharFloatButtonBarArray[] =
ID_FORMAT_CHAR_UNDERLINE,
ID_CHECK_SPELLING,
ID_SEPARATOR,
ID_UNUM_LIST,
ID_NUM_LIST,
ID_FORMAT_UNUM_LIST,
ID_FORMAT_NUM_LIST,
ID_FORMAT_OUTDENT,
ID_FORMAT_INDENT,
ID_SEPARATOR,
@ -463,8 +463,9 @@ BOOL CEditToolBarController::CreateEditBars(MWContext *pMWContext, BOOL bIsFloat
CSize(8, ED_TB_BUTTON_HEIGHT),
CSize(1,ED_TB_BITMAP_HEIGHT) ) )
return FALSE;
m_pCharacterToolbar = CreateCharacterToolbar((ett & DISPLAY_EDIT_TOOLBAR) ? CHARBUTTONBAR_ID_COUNT-1 : CHARBUTTONBAR_ID_COUNT);
m_wndCharacterBar.SetCNSToolbar(m_pCharacterToolbar);
m_pCharacterToolbar = CreateCharacterToolbar((ett & DISPLAY_EDIT_TOOLBAR) ? CHARBUTTONBAR_ID_COUNT-1 : CHARBUTTONBAR_ID_COUNT);
m_wndCharacterBar.SetCNSToolbar(m_pCharacterToolbar);
}
else
{
@ -476,9 +477,6 @@ BOOL CEditToolBarController::CreateEditBars(MWContext *pMWContext, BOOL bIsFloat
return FALSE;
}
// Paragraph styles Combo
CRect rect;
rect.SetRectEmpty(); //Don't need size to create it
@ -532,10 +530,6 @@ BOOL CEditToolBarController::CreateEditBars(MWContext *pMWContext, BOOL bIsFloat
}
}
}
// Add some list-type items to the combobox:
csTemp = "_Blockquote";
m_ParagraphCombo.AddString((LPCTSTR)csTemp);
// String used to get width of FontSize combobox
csTemp = "55";
cSize = CIntlWin::GetTextExtent(wincsid, pDC->GetSafeHdc(), csTemp, csTemp.GetLength());
@ -548,6 +542,12 @@ BOOL CEditToolBarController::CreateEditBars(MWContext *pMWContext, BOOL bIsFloat
wfe_iListItemHeight = wfe_iFontHeight - 1;
int iFontSizeWidth = cSize.cx + sysInfo.m_iScrollWidth + 6;
// This is longest string when combobox is dropped down:
csTemp = "8 pts";
cSize = CIntlWin::GetTextExtent(wincsid, pDC->GetSafeHdc(), csTemp, csTemp.GetLength());
pDC->LPtoDP(&cSize);
int iMaxSizeWidth = cSize.cx; // + sysInfo.m_iScrollWidth;
m_ParagraphCombo.ReleaseDC(pDC);
// Initialize app-global list of TrueType fonts
@ -604,7 +604,7 @@ BOOL CEditToolBarController::CreateEditBars(MWContext *pMWContext, BOOL bIsFloat
m_wndCharacterBar.SetComboBox( ID_COMBO_FONTSIZE, &m_FontSizeCombo,
iFontSizeWidth /*sysInfo.m_iScrollWidth+20*/, 0, 0 );
iFontSizeWidth, iMaxSizeWidth, 0 );
m_FontSizeCombo.SetCurSel(2); // Initialize with the "default" size - 3rd in list
// Set the color combobox data
@ -2230,7 +2230,6 @@ void CGenericFrame::OnMenuSelectComposer(UINT nItemID, UINT nFlags, HMENU hSysMe
HMENU hFontMenu = NULL;
HMENU hSizeMenu = NULL;
HMENU hSubMenu = NULL;
HMENU hSubSubMenu;
int i;
for( i = 0; i < nCount; i++)

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

@ -1,128 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
// editfloat.cpp : implementation file
//
#include "stdafx.h"
#include "editfloat.h"
#include "pa_tags.h" // Needed for P_MAX
#include "edres2.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNAMIC(CEnderBar,CToolBar)
static UINT BASED_CODE nIDCharButtonBarArray[] =
{
// same order as in the bitmap for toolbar
ID_FORMAT_CHAR_BOLD,
ID_FORMAT_CHAR_ITALIC,
ID_FORMAT_CHAR_UNDERLINE,
ID_CHECK_SPELLING,
ID_SEPARATOR,
ID_UNUM_LIST,
ID_NUM_LIST,
ID_FORMAT_OUTDENT,
ID_FORMAT_INDENT,
ID_SEPARATOR,
ID_ALIGN_POPUP,
ID_INSERT_POPUP
};
#define CHARBUTTONBAR_ID_COUNT ((sizeof(nIDCharButtonBarArray))/sizeof(UINT))
/////////////////////////////////////////////////////////////////////////////
// CEnderBar
CEnderBar::CEnderBar()
{
}
CEnderBar::~CEnderBar()
{
}
BOOL CEnderBar::Init(CWnd* pParentWnd, BOOL bToolTips)
{
if (!pParentWnd)
{
TRACE("bad parentwnd");
return FALSE;
}
m_bVertical = FALSE;
// start out with no borders
DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOOLTIPS|CBRS_RIGHT|CBRS_FLYBY|CBRS_SIZE_DYNAMIC;
//if (bToolTips)
// dwStyle |= (CBRS_TOOLTIPS | CBRS_FLYBY);
if (!Create(pParentWnd, dwStyle, IDS_EDIT_FLOAT_TOOLBAR))
{
return FALSE;
}
if (!LoadBitmap(IDB_EDIT_FLOAT_TOOLBAR))
return FALSE;
if(!SetButtons(nIDCharButtonBarArray, CHARBUTTONBAR_ID_COUNT))
return FALSE;
SetSizes(CSize(27,22),CSize(20,16));
EnableDocking(CBRS_ALIGN_ANY);
if(!SetVertical())
return FALSE;
return TRUE;
}
BOOL CEnderBar::SetHorizontal()
{
m_bVertical = FALSE;
// SetBarStyle(GetBarStyle() | CBRS_ALIGN_TOP);
return TRUE;
}
BOOL CEnderBar::SetVertical()
{
m_bVertical = TRUE;
return TRUE;
}
CSize CEnderBar::CalcDynamicLayout(int nLength, DWORD dwMode)
{
// if we're committing set the buttons appropriately
if (dwMode & LM_COMMIT)
{
return CToolBar::CalcDynamicLayout(nLength, dwMode);
}
else
{
CSize sizeResult = CToolBar::CalcDynamicLayout(nLength, dwMode);
return sizeResult;
}
}
BEGIN_MESSAGE_MAP(CEnderBar, CToolBar)
//{{AFX_MSG_MAP(CEnderBar)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEnderBar message handlers

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

@ -192,9 +192,10 @@ BEGIN
VK_RETURN, IDM_SEND, VIRTKEY, CONTROL, NOINVERT
VK_RETURN, ID_PROPS_LOCAL, VIRTKEY, ALT, NOINVERT
VK_TAB, ID_NEXT_WINDOW, VIRTKEY, CONTROL, NOINVERT
"V", ID_PASTE_CHARACTER_STYLE, VIRTKEY, SHIFT, CONTROL, NOINVERT
"W", ID_FILE_CLOSE, VIRTKEY, CONTROL, NOINVERT
"X", ID_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
"Y", ID_COPY_STYLE, VIRTKEY, CONTROL, NOINVERT
"Y", ID_PASTE_CHARACTER_STYLE, VIRTKEY, CONTROL, NOINVERT
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL, NOINVERT
END
@ -263,9 +264,10 @@ BEGIN
VK_PRIOR, ID_EDITOR_PAGEUP, VIRTKEY, NOINVERT
VK_PRIOR, ID_EDITOR_SELECTPAGEUP, VIRTKEY, SHIFT, NOINVERT
VK_RETURN, ID_PROPS_LOCAL, VIRTKEY, ALT, NOINVERT
"V", ID_PASTE_CHARACTER_STYLE, VIRTKEY, SHIFT, CONTROL, NOINVERT
"W", ID_FILE_CLOSE, VIRTKEY, CONTROL, NOINVERT
"X", ID_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
"Y", ID_COPY_STYLE, VIRTKEY, CONTROL, NOINVERT
"Y", ID_PASTE_CHARACTER_STYLE, VIRTKEY, CONTROL, NOINVERT
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL, NOINVERT
END
@ -307,7 +309,6 @@ IDC_DROP_COLOR CURSOR DISCARDABLE "res\\eddrpclr.cur"
IDC_DRAG_ARROW CURSOR DISCARDABLE "res\\dragarro.cur"
IDC_NO_DROP CURSOR DISCARDABLE "res\\ednodrop.cur"
IDC_ALL_CELLS_SEL CURSOR DISCARDABLE "res\\edselall.cur"
IDC_COPY_STYLE CURSOR DISCARDABLE "res\\edstyle.cur"
IDC_TABLE_COPY CURSOR DISCARDABLE "res\\edtblcpy.cur"
IDC_TABLE_MOVE CURSOR DISCARDABLE "res\\edtblmov.cur"
IDC_TABLE_VSIZE CURSOR DISCARDABLE "res\\edtavsiz.cur"
@ -384,6 +385,7 @@ BEGIN
ID_PROPS_TEXT "Change character, paragraph, and font properties"
ID_PROPS_TARGET "Change target properties"
ID_PROPS_TAG "Change HTML tag properties"
ID_PROPS_DOC_COLOR "Change text and background colors, and background image"
END
STRINGTABLE PRELOAD DISCARDABLE
@ -421,9 +423,7 @@ BEGIN
IDS_UNUM_LIST "Bullet (Unnumbered) List"
IDS_NUM_LIST "Numbered List"
IDS_BLOCK_QUOTE "Block Quote"
IDS_DIRECTORY_LIST "Directory List"
IDS_MENU_LIST "Menu List"
IDS_DESCRIPTION_LIST "Description List"
IDS_DESCRIPTION_LIST "Definition List"
IDS_DEFAULT "Default"
IDS_LIST "List"
IDS_DIGIT "1, 2, 3..."
@ -627,8 +627,6 @@ STRINGTABLE DISCARDABLE
BEGIN
IDS_UNLINK_WARNING "The selection contains links.\nRemove all links from this selection?"
IDS_CLEAR_CHAR_STYLES_CAPTION "Remove All Character Styles"
ID_UNUM_LIST "Start, change to, or clear an unnumbered (bulleted) list\nBullet List"
ID_NUM_LIST "Start, change to, or clear a numbered list\nNumbered List"
ID_INSERT_NONBREAK_SPACE
"Insert a non-breaking space at the insertion location"
IDS_EDIT_TOOLBAR_CAPTION "Composition Toolbar"
@ -654,10 +652,9 @@ BEGIN
IDS_REMOVE_LINKS "&Remove Links"
IDS_REMOVE_ALL_LINKS "&Remove all links in selection"
ID_REMOVE_LINKS "Remove link at the insertion point or all links within the selection\nRemove Links"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_PASTE_CHARACTER_STYLE "Use the character styles of the last text copied to the clipboard"
IDS_PASTE_CHARACTER_SYLE_POPUP
"Apply Last-Copied St&yle\tCtrl+Y"
IDS_UNABLE_TO_LAUNCH_EDITOR
"Unable to launch external editor! Error code=%d"
IDS_IMAGE_IS_REMOTE "Image is at a remote location.\nSave image to disk before editing."

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

@ -5068,8 +5068,7 @@ typedef enum {
struct _EDT_ListData {
intn iTagType; P_UNUM_LIST, P_NUM_LIST, P_BLOCKQUOTE
P_DIRECTORY, P_MENU, P_DESC_LIST
intn iTagType; P_UNUM_LIST, P_NUM_LIST, P_BLOCKQUOTE, P_DESC_LIST
Bool bCompact;
ED_ListType eType;
int iStart; automatically maps, start is 1
@ -5088,8 +5087,6 @@ enum {
enum {
ED_UNUM_LIST,
ED_NUM_LIST,
ED_DIR_LIST,
ED_MENU_LIST,
ED_DESC_LIST
};
@ -5267,12 +5264,6 @@ BOOL CParagraphPage::OnSetActive()
m_iContainerStyle = ED_BLOCKQUOTE;
m_iListStyle = ED_DEFAULT;
break;
case P_DIRECTORY:
m_iListStyle = ED_DIR_LIST;
break;
case P_MENU:
m_iListStyle = ED_MENU_LIST;
break;
case P_DESC_LIST:
m_iListStyle = ED_DESC_LIST;
break;
@ -5323,8 +5314,6 @@ BOOL CParagraphPage::OnSetActive()
// Fill the List styles list
pListStyles->AddString(szLoadString(IDS_UNUM_LIST));
pListStyles->AddString(szLoadString(IDS_NUM_LIST));
pListStyles->AddString(szLoadString(IDS_DIRECTORY_LIST));
pListStyles->AddString(szLoadString(IDS_MENU_LIST));
pListStyles->AddString(szLoadString(IDS_DESCRIPTION_LIST));
// Remove/rebuild item styles depending on current state
@ -5374,12 +5363,6 @@ void CParagraphPage::OnOK()
case ED_NUM_LIST:
iTagType = P_NUM_LIST;
break;
case ED_DIR_LIST:
iTagType = P_DIRECTORY;
break;
case ED_MENU_LIST:
iTagType = P_MENU;
break;
case ED_DESC_LIST:
iTagType = P_DESC_LIST;
break;
@ -5523,23 +5506,24 @@ void CParagraphPage::UpdateLists()
}
void CParagraphPage::OnSelchangeParagraphStyles()
void CParagraphPage::ChangeParagraphStyle()
{
SetModified(TRUE);
m_iParagraphStyle = ((CComboBox*)GetDlgItem(IDC_PARAGRAPH_STYLES))->GetCurSel();
// Selecting a list item will force
// List container and default type: Unnumbered List
if( m_iParagraphStyle == ED_PARA_LIST ){
// Selecting one of the list item will force a list container
if( m_iParagraphStyle == ED_PARA_LIST )
{
m_iContainerStyle = ED_LIST;
if( m_iListStyle == ED_DEFAULT ){
// Either numbered or unnumbered list style is OK
if( m_iListStyle != ED_NUM_LIST )
m_iListStyle = ED_UNUM_LIST;
}
} else if( m_iParagraphStyle == ED_PARA_DESC_TITLE || m_iParagraphStyle == ED_PARA_DESC_TEXT){
else if( m_iListStyle != ED_UNUM_LIST )
m_iListStyle = ED_NUM_LIST;
}
else if( m_iParagraphStyle == ED_PARA_DESC_TITLE || m_iParagraphStyle == ED_PARA_DESC_TEXT)
{
m_iContainerStyle = ED_LIST;
if( m_iListStyle == ED_DEFAULT ){
m_iListStyle = ED_DESC_LIST;
}
//if( m_iListStyle == ED_DEFAULT )
m_iListStyle = ED_DESC_LIST;
} else if( m_iContainerStyle == ED_LIST ){
// Remove List container
// Note that it is left as is for BLOCK QUOTE
@ -5548,29 +5532,52 @@ void CParagraphPage::OnSelchangeParagraphStyles()
UpdateLists();
}
void CParagraphPage::OnSelchangeParagraphStyles()
{
SetModified(TRUE);
m_iParagraphStyle = ((CComboBox*)GetDlgItem(IDC_PARAGRAPH_STYLES))->GetCurSel();
ChangeParagraphStyle();
}
void CParagraphPage::OnSelchangeContainerStyle()
{
SetModified(TRUE);
m_iContainerStyle = ((CComboBox*)GetDlgItem(IDC_CONTAINER_STYLES))->GetCurSel();
// Force List paragraph style
if( m_iContainerStyle == ED_LIST ){
m_iParagraphStyle = ED_PARA_LIST;
if( m_iListStyle == ED_DEFAULT ){
m_iListStyle = ED_UNUM_LIST;
}
if( m_iContainerStyle == ED_LIST )
{
// If not already a list item, set it now
if( m_iParagraphStyle < ED_PARA_LIST )
m_iParagraphStyle = ED_PARA_LIST;
}
UpdateLists();
else if( m_iParagraphStyle >= ED_PARA_LIST )
{
// For no container or BLOCKQUOTE,
// any list item must be converted to normal
m_iParagraphStyle = ED_PARA_NORMAL;
}
ChangeParagraphStyle();
}
void CParagraphPage::OnSelchangeListStyles()
{
SetModified(TRUE);
m_iListStyle = ((CComboBox*)GetDlgItem(IDC_LIST_STYLES))->GetCurSel();
// Reset Bullet/Numbering styles
// depending on new List Style
UpdateLists();
if( m_iListStyle == ED_DESC_LIST )
{
// Set appropriate paragraph style for definition list
if( m_iParagraphStyle < ED_PARA_DESC_TITLE )
m_iParagraphStyle = ED_PARA_DESC_TITLE;
}
else
{
// Changing to either numbered or bulleted list
m_iParagraphStyle = ED_PARA_LIST;
}
ChangeParagraphStyle();
}
void CParagraphPage::OnSelchangeListItemStyle()

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

@ -1001,6 +1001,8 @@ private:
// This is used to change resource hInstance back to EXE
CEditorResourceSwitcher * m_pResourceSwitcher;
void ChangeParagraphStyle();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CParagraphPage)

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

@ -583,7 +583,7 @@ BEGIN
LTEXT "pixels",IDC_STATIC,112,68,31,8
LTEXT "&Spacing:",IDC_STATIC,16,88,41,8
EDITTEXT IDC_CELL_SPACING,58,86,24,13
LTEXT "pixels between cells",IDC_STATIC,84,88,82,8
LTEXT "pixels between cells",IDC_STATIC,84,88,81,8
LTEXT "&Padding:",IDC_STATIC,16,104,41,8
EDITTEXT IDC_CELL_PADDING,58,102,24,13
LTEXT "pixels between border and cell contents",IDC_STATIC,84,

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

@ -248,6 +248,8 @@ BEGIN_MESSAGE_MAP(CNetscapeEditView, CNetscapeView)
ON_COMMAND(ID_PROPS_CHARACTER, OnCharacterProperties)
ON_COMMAND(ID_PROPS_DOCUMENT, OnDocumentProperties)
ON_COMMAND(ID_PROPS_DOC_COLOR, OnDocColorProperties)
ON_COMMAND(ID_PASTE_CHARACTER_STYLE, OnPasteCharacterStyle)
ON_UPDATE_COMMAND_UI(ID_PASTE_CHARACTER_STYLE, OnUpdatePasteCharacterStyle)
ON_UPDATE_COMMAND_UI(ID_PROPS_DOCUMENT, HaveEditContext)
ON_COMMAND(ID_FORMAT_CHAR_NO_TEXT_STYLES, OnCharacterNoTextStyles)
ON_COMMAND(ID_FORMAT_CHAR_NONE, OnCharacterNone)
@ -265,9 +267,6 @@ BEGIN_MESSAGE_MAP(CNetscapeEditView, CNetscapeView)
ON_COMMAND(ID_INSERT_BREAK_BOTH,OnInsertBreakBoth)
ON_COMMAND(ID_INSERT_NONBREAK_SPACE,OnInsertNonbreakingSpace)
ON_COMMAND(ID_REMOVE_LIST, OnRemoveList)
ON_COMMAND(ID_UNUM_LIST, OnUnumList)
ON_COMMAND(ID_NUM_LIST, OnNumList)
ON_COMMAND(ID_BLOCK_QUOTE, OnBlockQuote)
ON_COMMAND(ID_EDIT_SELECTALL, OnSelectAll)
ON_COMMAND(ID_EDIT_UNDO, OnUndo)
ON_COMMAND( ID_FILE_PUBLISH, OnPublish)
@ -363,8 +362,6 @@ BEGIN_MESSAGE_MAP(CNetscapeEditView, CNetscapeView)
ON_UPDATE_COMMAND_UI(ID_INSERT_BREAK_RIGHT, OnUpdateInsertBreak)
ON_UPDATE_COMMAND_UI(ID_INSERT_BREAK_BOTH, OnUpdateInsertBreak)
ON_UPDATE_COMMAND_UI(ID_REMOVE_LIST, OnUpdateRemoveList)
ON_UPDATE_COMMAND_UI(ID_UNUM_LIST, OnUpdateUnumList)
ON_UPDATE_COMMAND_UI(ID_NUM_LIST, OnUpdateNumList)
ON_UPDATE_COMMAND_UI(ID_EDIT_SELECTALL, HaveEditContext)
ON_UPDATE_COMMAND_UI(ID_EDIT_UNDO, OnUpdateUndo)
ON_UPDATE_COMMAND_UI(ID_FILE_PUBLISH, HaveEditContext)
@ -908,7 +905,7 @@ void CNetscapeEditView::OnSetFocus(CWnd *pOldWin)
if (GetEmbedded())
{
CMainFrame * pFrame = (CMainFrame*)GetParentFrame();
CComboToolBar *pControler = pFrame->getComposeToolBar();
CEnderBar *pControler = pFrame->getComposeToolBar();
if (pControler)
{
//must calculate position for toolbar
@ -939,7 +936,7 @@ void CNetscapeEditView::OnKillFocus(CWnd *pOldWin)
if (GetEmbedded())
{
CMainFrame * pFrame = (CMainFrame*)GetParentFrame();
CComboToolBar *pControler = pFrame->getComposeToolBar();
CEnderBar *pControler = pFrame->getComposeToolBar();
CWnd *pWnd=NULL;
CWnd *pCPparent=NULL;
BOOL keepToolbar=FALSE;
@ -1077,8 +1074,8 @@ BOOL CNetscapeEditView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDL
// and remove separate message handlers, but not
// done now (7/23/97) to avoid changing the ID
// associated with these in res\editor.rc2
if( t == P_DIRECTORY ||
t == P_MENU ||
if( t == P_UNUM_LIST || //P_DIRECTORY ||
t == P_NUM_LIST || //P_MENU ||
t == P_DESC_LIST ){
EDT_ToggleList(GET_MWCONTEXT, t);
return TRUE;
@ -1153,8 +1150,8 @@ BOOL CNetscapeEditView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDL
{
TagType t = TagType(nID - ID_FORMAT_PARAGRAPH_BASE);
if( t == P_BLOCKQUOTE ||
t == P_DIRECTORY ||
t == P_MENU ||
t == P_UNUM_LIST || //P_DIRECTORY ||
t == P_NUM_LIST || //P_MENU ||
t == P_DESC_LIST)
{
UpdateListMenuItem(pCmdUI, t);
@ -1260,12 +1257,6 @@ void CNetscapeEditView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
if( EDT_IsSizing(pMWContext) )
GetContext()->CancelSizing();
// Cancel copy style action
if( EDT_CanPasteStyle(pMWContext) )
{
EDT_PasteStyle(pMWContext, FALSE);
UpdateCursor();
}
// Call the CGenericView's interrupt function
OnNavigateInterrupt();

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

@ -383,9 +383,6 @@ protected:
afx_msg void OnInsertBreakBoth();
afx_msg void OnUpdateInsertBreak(CCmdUI* pCmdUI);
afx_msg void OnRemoveList();
afx_msg void OnUnumList();
afx_msg void OnNumList();
afx_msg void OnBlockQuote();
afx_msg void OnUpdateRemoveList(CCmdUI* pCmdUI);
afx_msg void OnUpdateUnumList(CCmdUI* pCmdUI);
afx_msg void OnUpdateNumList(CCmdUI* pCmdUI);
@ -468,9 +465,10 @@ protected:
afx_msg void OnSelectEndOfDocument();
afx_msg void OnSelectNextWord();
afx_msg void OnSelectPreviousWord();
// We trap these messages to do editor's copy/cut/paste
// CAbstractCX::CopySelection() will be called if
// view is not an Editor
// We trap normal Cut/Copy/Paste messages to do editor's copy/cut/paste
// CAbstractCX::CopySelection() will be called if view is not an Editor
afx_msg void OnPasteCharacterStyle();
afx_msg void OnUpdatePasteCharacterStyle(CCmdUI* pCmdUI);
afx_msg void OnGoToDefaultPublishLocation();
afx_msg void OnEditCopy();
afx_msg void OnCopyStyle();

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

@ -221,6 +221,7 @@ void CNetscapeEditView::OnUpdateTagProperties(CCmdUI* pCmdUI)
pCmdUI->Enable( CAN_INTERACT &&
ED_ELEMENT_UNKNOWN_TAG == EDT_GetCurrentElementType(GET_MWCONTEXT) );
}
///////////////////////////////////////////////////////////////
// Edit menu
// Find is shared with Navigator - uses common dialog
@ -232,6 +233,19 @@ void CNetscapeEditView::OnEditFindReplace()
// TODO: something like: CMainFrame::OnFindReplace();
}
void CNetscapeEditView::OnPasteCharacterStyle()
{
MWContext *pMWContext = GET_MWCONTEXT;
if( pMWContext && EDT_CanPasteStyle(pMWContext) )
//Actually paste. FALSE would clear stored styles
EDT_PasteStyle(pMWContext, TRUE);
}
void CNetscapeEditView::OnUpdatePasteCharacterStyle(CCmdUI* pCmdUI)
{
pCmdUI->Enable( CAN_INTERACT && EDT_CanPasteStyle(GET_MWCONTEXT) );
}
///////////////////////////////////////////////////////////////
// Insert menu
@ -1603,12 +1617,15 @@ void CNetscapeEditView::OnRButtonDown(UINT uFlags, CPoint cpPoint)
cmPopup.AppendMenu(MF_POPUP, (UINT)hPasteMenu, szLoadString(IDS_EDIT_PASTE));
}
}
else if( !bCanPasteTableInTable ) // All table items we can paste are covered above
else if( bCanPaste && !bCanPasteTableInTable ) // All table items we can paste are covered above
{
nID = bHaveLink ? IDS_EDIT_PASTE_LINK : IDS_EDIT_PASTE;
cmPopup.AppendMenu(MF_ENABLED, ID_EDIT_PASTE, szLoadString(nID));
}
if( EDT_CanPasteStyle(pMWContext) )
{
cmPopup.AppendMenu(MF_ENABLED, ID_PASTE_CHARACTER_STYLE, szLoadString(IDS_PASTE_CHARACTER_SYLE_POPUP));
}
// Remove last item if its a separator
int iLastItem = cmPopup.GetMenuItemCount() - 1;
if( iLastItem > 0 && 0 == cmPopup.GetMenuItemID(iLastItem) )
@ -1819,7 +1836,6 @@ PUBLIC Bool FE_EditorPrefConvertFileCaseOnWrite( ){
return TRUE;
}
void CNetscapeEditView::OnTimer(UINT nIDEvent)
{
CNetscapeView::OnTimer(nIDEvent);
@ -2474,22 +2490,6 @@ void CNetscapeEditView::OnFormatOutdent()
}
}
void CNetscapeEditView::OnUnumList()
{
if ( !CAN_INTERACT ){
return;
}
EDT_ToggleList(GET_MWCONTEXT, P_UNUM_LIST);
}
void CNetscapeEditView::OnNumList()
{
if ( !CAN_INTERACT ){
return;
}
EDT_ToggleList(GET_MWCONTEXT, P_NUM_LIST);
}
void CNetscapeEditView::OnRemoveList()
{
// Repeat removing indent until last Unnumbered list is gone
@ -2503,7 +2503,7 @@ void CNetscapeEditView::OnRemoveList()
void CNetscapeEditView::OnUpdateRemoveList(CCmdUI* pCmdUI)
{
EDT_ListData * pListData = EDT_GetListData(GET_MWCONTEXT);
pCmdUI->Enable(CAN_INTERACT && pListData);
pCmdUI->Enable(CAN_INTERACT);
if( pCmdUI->m_pMenu) {
pCmdUI->SetCheck(!pListData);
}
@ -2528,21 +2528,6 @@ void CNetscapeEditView::UpdateListMenuItem(CCmdUI* pCmdUI, TagType t)
}
}
void CNetscapeEditView::OnUpdateUnumList(CCmdUI* pCmdUI)
{
UpdateListMenuItem(pCmdUI, P_UNUM_LIST);
}
void CNetscapeEditView::OnUpdateNumList(CCmdUI* pCmdUI)
{
UpdateListMenuItem(pCmdUI, P_NUM_LIST);
}
void CNetscapeEditView::OnBlockQuote()
{
OnFormatParagraph(ID_FORMAT_PARAGRAPH_BASE+P_BLOCKQUOTE);
}
void CNetscapeEditView::OnAlignPopup()
{
MWContext * pMWContext = GET_MWCONTEXT;

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

@ -32,6 +32,8 @@
#include "..\..\..\lib\libparse\pa_tags.h" // interface to layout tag defines
#include "..\edres2.h"
// NO MAIL COMPOSER IN 5.0
#if 0
IDR_COMPOSEFRAME MENU DISCARDABLE
BEGIN
POPUP "&File"
@ -194,6 +196,7 @@ BEGIN
MENUITEM "&Nonbreaking" ID_FORMAT_CHAR_NOBREAKS
END
MENUITEM "Text &Color...", ID_GET_COLOR // ID_FORMAT_FONTCOLOR
MENUITEM "Apply Last-Copied St&yle\tCtrl+Y" ID_PASTE_CHARACTER_STYLE
MENUITEM "&Remove All Styles\tCtrl+K" ID_FORMAT_CHAR_NONE
MENUITEM SEPARATOR
POPUP "&Heading"
@ -211,18 +214,15 @@ BEGIN
MENUITEM "&Address", ID_FORMAT_PARAGRAPH_BASE+P_ADDRESS
MENUITEM "&Formatted", ID_FORMAT_PARAGRAPH_BASE+P_PREFORMAT
MENUITEM "&Block Quote" ID_FORMAT_PARAGRAPH_BASE+P_BLOCKQUOTE
MENUITEM "Description &Title" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE
MENUITEM "&Description Text" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT
MENUITEM "&Term Name" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT
END
POPUP "&List"
BEGIN
MENUITEM "N&one" ID_REMOVE_LIST
MENUITEM "&Bulletted" ID_UNUM_LIST
MENUITEM "&Numbered" ID_NUM_LIST
// Put here or in Paragraph?
MENUITEM "&Description" ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST
MENUITEM "D&irectory" ID_FORMAT_PARAGRAPH_BASE+P_DIRECTORY
MENUITEM "&Menu" ID_FORMAT_PARAGRAPH_BASE+P_MENU
MENUITEM "&Bulletted" ID_FORMAT_PARAGRAPH_BASE+P_UNUM_LIST
MENUITEM "&Numbered" ID_FORMAT_PARAGRAPH_BASE+P_NUM_LIST
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST
END
POPUP "&Align"
BEGIN
@ -317,6 +317,7 @@ BEGIN
MENUITEM "PLACEHOLDER", IDC_FIRST_HELP_MENU_ID
END
END
#endif
//////////////////////////////////////////////////////////////////////////////
//
// Page Composer Menu
@ -362,6 +363,7 @@ BEGIN
MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
MENUITEM "Paste Charater St&yle\tCtrl+Shift+V" ID_PASTE_CHARACTER_STYLE
MENUITEM "&Delete\tDel" ID_EDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "Remove Lin&k", ID_REMOVE_LINKS
@ -471,7 +473,8 @@ BEGIN
MENUITEM "&Nonbreaking" ID_FORMAT_CHAR_NOBREAKS
END
MENUITEM "Text &Color...", ID_GET_COLOR // ID_FORMAT_FONTCOLOR
MENUITEM "&Remove All Styles\tCtrl+K" ID_FORMAT_CHAR_NONE
MENUITEM "Apply Last-Copied &Style\tCtrl+Y" ID_PASTE_CHARACTER_STYLE
MENUITEM "&Remove All Styles\tCtrl+K" ID_FORMAT_CHAR_NONE
MENUITEM SEPARATOR
POPUP "&Heading"
BEGIN
@ -488,18 +491,15 @@ BEGIN
MENUITEM "&Address", ID_FORMAT_PARAGRAPH_BASE+P_ADDRESS
MENUITEM "&Formatted", ID_FORMAT_PARAGRAPH_BASE+P_PREFORMAT
MENUITEM "&Block Quote" ID_FORMAT_PARAGRAPH_BASE+P_BLOCKQUOTE
MENUITEM "Description &Title" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE
MENUITEM "&Description Text" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT
MENUITEM "&Term Name" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT
END
POPUP "&List"
BEGIN
MENUITEM "N&one" ID_REMOVE_LIST
MENUITEM "&Bulletted" ID_UNUM_LIST
MENUITEM "&Numbered" ID_NUM_LIST
// Put here or in Paragraph?
MENUITEM "&Description" ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST
MENUITEM "D&irectory" ID_FORMAT_PARAGRAPH_BASE+P_DIRECTORY
MENUITEM "&Menu" ID_FORMAT_PARAGRAPH_BASE+P_MENU
MENUITEM "&Bulletted" ID_FORMAT_PARAGRAPH_BASE+P_UNUM_LIST
MENUITEM "&Numbered" ID_FORMAT_PARAGRAPH_BASE+P_NUM_LIST
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST
END
POPUP "&Align"
BEGIN
@ -685,8 +685,8 @@ BEGIN
ID_LIST_TEXT_PARAGRAPH_BASE+P_ADDRESS "Address"
ID_LIST_TEXT_PARAGRAPH_BASE+P_PREFORMAT "Formatted"
ID_LIST_TEXT_PARAGRAPH_BASE+P_LIST_ITEM "List Item"
ID_LIST_TEXT_PARAGRAPH_BASE+P_DESC_TITLE "Desc. Title"
ID_LIST_TEXT_PARAGRAPH_BASE+P_DESC_TEXT "Desc. Text"
ID_LIST_TEXT_PARAGRAPH_BASE+P_DESC_TITLE "Term Name"
ID_LIST_TEXT_PARAGRAPH_BASE+P_DESC_TEXT "Definition"
// End of Paragraph combobox list
ID_LIST_TEXT_CHARACTER_BASE+P_BOLD "Bold\tCtrl+B"
ID_LIST_TEXT_CHARACTER_BASE+P_ITALIC "Italic\tCtrl+I"
@ -720,13 +720,12 @@ BEGIN
ID_FORMAT_PARAGRAPH_BASE+P_HEADER_6 "Set the style to Heading 6\nHeading 6"
ID_FORMAT_PARAGRAPH_BASE+P_ADDRESS "Set the style to Address\nAddress"
ID_FORMAT_PARAGRAPH_BASE+P_PREFORMAT "Set the style to Preformat\nPreformat"
ID_FORMAT_PARAGRAPH_BASE+P_UNUM_LIST "Set the style to Unordered List\nUnordered List"
ID_FORMAT_PARAGRAPH_BASE+P_NUM_LIST "Set the style to Ordered List\nOrdered List"
ID_FORMAT_PARAGRAPH_BASE+P_MENU "Set the style to Menu List\nMenu List"
ID_FORMAT_PARAGRAPH_BASE+P_DIRECTORY "Set the style to Directory List\nDirectory List"
ID_FORMAT_PARAGRAPH_BASE+P_UNUM_LIST "Start, change to, or clear an Unnumbered (Bulleted) List\nBullet List"
ID_FORMAT_PARAGRAPH_BASE+P_NUM_LIST "Start, change to, or clear a Numbered List\nNumbered List"
ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST "Start, change to, or clear a Definition List\nDefinition List"
ID_FORMAT_PARAGRAPH_BASE+P_LIST_ITEM "Set the style to List Item\nList Item"
ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE "Set the style to Description Title\nDescription Title"
ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT "Set the style to Description Text\nDescription Text"
ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE "Set the style to Term Name (an item to be defined)\nTerm Name"
ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT "Set the style to Term Definition\nDefinition"
ID_FORMAT_PARAGRAPH_BASE+P_BLOCKQUOTE "Set the style to Block Quote\nBlock Quote"
ID_FORMAT_CHAR_NONE "Remove all character styles and link(s)\nRemove All Styles (Ctrl+K)"
ID_FORMAT_CHAR_BOLD "Set the style to Bold\nBold (Ctrl+B)"

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

@ -1617,7 +1617,6 @@
#define IDC_STATIC_MAIL_SERVER 1563
#define IDC_RADIO_SEARCH_LOCAL 1570
#define IDC_RADIO_SEARCH_SERVER 1571
#define IDC_COPY_STYLE 1580
#define IDC_TABLE_COPY 1581
#define IDC_TABLE_MOVE 1582
#define IDD_NETPROFILE_LOGIN 1599
@ -2735,8 +2734,6 @@
#define ID_WEB_PAGE_STARTER 42177
#define IDS_UNLINK_WARNING 42178
#define IDS_CLEAR_CHAR_STYLES_CAPTION 42179
#define ID_UNUM_LIST 42180
#define ID_NUM_LIST 42181
#define ID_INSERT_NONBREAK_SPACE 42182
#define IDS_EDIT_TOOLBAR_CAPTION 42183
#define IDS_CHAR_TOOLBAR_CAPTION 42185
@ -2807,6 +2804,8 @@
#define IDS_REMOVE_LINKS 42268
#define IDS_REMOVE_ALL_LINKS 42269
#define ID_REMOVE_LINKS 42270
#define ID_PASTE_CHARACTER_STYLE 42271
#define IDS_PASTE_CHARACTER_SYLE_POPUP 42272
#define IDS_UNABLE_TO_LAUNCH_EDITOR 42273
#define IDS_IMAGE_IS_REMOTE 42274
#define IDS_EDIT_IMAGE_CAPTION 42275
@ -2925,7 +2924,6 @@
#define IDS_FONTSIZE_4 42407
#define ID_EDIT_BACKGROUND_IMAGE 42408
#define ID_EDIT_PAGE_TITLE 42409
#define ID_BLOCK_QUOTE 42410
#define ID_NAVIGATE_MSG_BACK 42411
#define ID_NAVIGATE_MSG_FORWARD 42412
#define ID_MESSAGE_UNFLAGMESSAGE 42413