Alexander Nicolaysen Sørnes : wordpad: Allow toggling of toolbar.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jun 12 06:30:48 CDT 2007
Module: wine
Branch: master
Commit: 10b348399ac2b90810b48850ff554142b0a41d18
URL: http://source.winehq.org/git/wine.git/?a=commit;h=10b348399ac2b90810b48850ff554142b0a41d18
Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date: Wed Jun 6 11:10:47 2007 +0200
wordpad: Allow toggling of toolbar.
---
programs/wordpad/De.rc | 4 +++
programs/wordpad/En.rc | 4 +++
programs/wordpad/Fr.rc | 4 +++
programs/wordpad/Hu.rc | 4 +++
programs/wordpad/Ko.rc | 4 +++
programs/wordpad/Nl.rc | 4 +++
programs/wordpad/No.rc | 4 +++
programs/wordpad/Pl.rc | 4 +++
programs/wordpad/Ru.rc | 4 +++
programs/wordpad/Tr.rc | 4 +++
programs/wordpad/resource.h | 4 +++
programs/wordpad/wordpad.c | 62 ++++++++++++++++++++++++++++++++++++++++---
12 files changed, 102 insertions(+), 4 deletions(-)
diff --git a/programs/wordpad/De.rc b/programs/wordpad/De.rc
index 64893cb..b09e743 100644
--- a/programs/wordpad/De.rc
+++ b/programs/wordpad/De.rc
@@ -52,6 +52,10 @@ BEGIN
MENUITEM "&Get text", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "F&ormat"
BEGIN
POPUP "&Hintergrund"
diff --git a/programs/wordpad/En.rc b/programs/wordpad/En.rc
index 2f08653..a83eec6 100644
--- a/programs/wordpad/En.rc
+++ b/programs/wordpad/En.rc
@@ -52,6 +52,10 @@ BEGIN
MENUITEM "&Get text", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "F&ormat"
BEGIN
POPUP "&Background"
diff --git a/programs/wordpad/Fr.rc b/programs/wordpad/Fr.rc
index c52dac2..0205954 100644
--- a/programs/wordpad/Fr.rc
+++ b/programs/wordpad/Fr.rc
@@ -52,6 +52,10 @@ BEGIN
MENUITEM "&Recevoir texte", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "Forma&t"
BEGIN
POPUP "&Fond"
diff --git a/programs/wordpad/Hu.rc b/programs/wordpad/Hu.rc
index 93c0220..5ebcdee 100644
--- a/programs/wordpad/Hu.rc
+++ b/programs/wordpad/Hu.rc
@@ -52,6 +52,10 @@ BEGIN
MENUITEM "Sz&övegszerzés", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "F&ormátum"
BEGIN
POPUP "&Háttér"
diff --git a/programs/wordpad/Ko.rc b/programs/wordpad/Ko.rc
index d963f62..b01f68f 100644
--- a/programs/wordpad/Ko.rc
+++ b/programs/wordpad/Ko.rc
@@ -53,6 +53,10 @@ BEGIN
MENUITEM "ÅؽºÆ® ¾ò±â(&G)", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "Çü½Ä(&O)"
BEGIN
POPUP "¹è°æ(&B)"
diff --git a/programs/wordpad/Nl.rc b/programs/wordpad/Nl.rc
index 67f378b..ed05fcc 100644
--- a/programs/wordpad/Nl.rc
+++ b/programs/wordpad/Nl.rc
@@ -52,6 +52,10 @@ BEGIN
MENUITEM "&Haal tekst", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "&Opmaak"
BEGIN
POPUP "&Achtergrond"
diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc
index 87be440..4955ebd 100644
--- a/programs/wordpad/No.rc
+++ b/programs/wordpad/No.rc
@@ -52,6 +52,10 @@ BEGIN
MENUITEM "&Hent tekst", ID_EDIT_GETTEXT
END
END
+ POPUP "&Vis"
+ BEGIN
+ MENUITEM "Verk&tøylinje", ID_TOGGLE_TOOLBAR
+ END
POPUP "F&ormat"
BEGIN
POPUP "&Bakgrunn"
diff --git a/programs/wordpad/Pl.rc b/programs/wordpad/Pl.rc
index c556264..161a402 100644
--- a/programs/wordpad/Pl.rc
+++ b/programs/wordpad/Pl.rc
@@ -53,6 +53,10 @@ BEGIN
MENUITEM "&Pobie¿ tekst", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "F&ormat"
BEGIN
POPUP "&T³o"
diff --git a/programs/wordpad/Ru.rc b/programs/wordpad/Ru.rc
index ef18f08..37bb291 100644
--- a/programs/wordpad/Ru.rc
+++ b/programs/wordpad/Ru.rc
@@ -50,6 +50,10 @@ BEGIN
MENUITEM "Ï&îëó÷èòü òåêñò", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "Ôîð&ìàò"
BEGIN
POPUP "&Ôîí"
diff --git a/programs/wordpad/Tr.rc b/programs/wordpad/Tr.rc
index 7a124ab..35b9aef 100644
--- a/programs/wordpad/Tr.rc
+++ b/programs/wordpad/Tr.rc
@@ -54,6 +54,10 @@ BEGIN
MENUITEM "&Metni al", ID_EDIT_GETTEXT
END
END
+ POPUP "&View"
+ BEGIN
+ MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR
+ END
POPUP "&Biçim"
BEGIN
POPUP "&Arkaplan"
diff --git a/programs/wordpad/resource.h b/programs/wordpad/resource.h
index bc7647d..da122db 100644
--- a/programs/wordpad/resource.h
+++ b/programs/wordpad/resource.h
@@ -53,6 +53,10 @@
#define ID_FORMAT_ITALIC 1401
#define ID_FORMAT_UNDERLINE 1402
+#define ID_TOGGLE_TOOLBAR 1500
+
+#define BANDID_TOOLBAR 0
+
#define IDC_STATUSBAR 2000
#define IDC_EDITOR 2001
#define IDC_TOOLBAR 2002
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index 6efc15d..7a16b15 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -48,6 +48,8 @@ static HWND hEditorWnd;
static WCHAR wszFilter[MAX_STRING_LEN];
+static LRESULT OnSize( HWND hWnd, WPARAM wParam, LPARAM lParam );
+
/* Load string resources */
static void DoLoadStrings(void)
{
@@ -324,6 +326,43 @@ static void DoDefaultFont(void)
SendMessage(hEditorWnd, EM_SETCHARFORMAT, SCF_DEFAULT, (LPARAM)&fmt);
}
+static void toggle_toolbar(int bandId)
+{
+ HWND hwndReBar = GetDlgItem(hMainWnd, IDC_REBAR);
+ REBARBANDINFOW rbbinfo;
+ RECT rect;
+
+ if(!hwndReBar)
+ return;
+
+ rbbinfo.cbSize = sizeof(rbbinfo);
+ rbbinfo.fMask = RBBIM_STYLE;
+
+ SendMessageW(hwndReBar, RB_GETBANDINFO, bandId, (LPARAM)&rbbinfo);
+
+ SendMessageW(hwndReBar, RB_SHOWBAND, bandId, (rbbinfo.fStyle & RBBS_HIDDEN));
+
+ GetWindowRect(hMainWnd, &rect);
+
+ (void) OnSize(hMainWnd, SIZE_RESTORED, MAKELONG(rect.bottom, rect.right));
+}
+
+static int rebar_height(void)
+{
+ HWND hwndReBar = GetDlgItem(hMainWnd, IDC_REBAR);
+
+ REBARBANDINFOW rbbinfo;
+
+ if(!hwndReBar)
+ return 0;
+
+ rbbinfo.cbSize = sizeof(rbbinfo);
+ rbbinfo.fMask = RBBIM_STYLE;
+ SendMessageW(hwndReBar, RB_GETBANDINFO, BANDID_TOOLBAR, (LPARAM)&rbbinfo);
+
+ return (rbbinfo.fStyle & RBBS_HIDDEN) ? 0 : SendMessage(hwndReBar, RB_GETBARHEIGHT, 0, 0);
+}
+
static LRESULT OnCreate( HWND hWnd, WPARAM wParam, LPARAM lParam)
{
HWND hToolBarWnd, hReBarWnd;
@@ -389,7 +428,7 @@ static LRESULT OnCreate( HWND hWnd, WPARAM wParam, LPARAM lParam)
rbb.cxMinChild = 0;
rbb.cyChild = rbb.cyMinChild = HIWORD(SendMessage(hToolBarWnd, TB_GETBUTTONSIZE, 0, 0));
- SendMessage(hReBarWnd, RB_INSERTBAND, -1, (LPARAM)&rbb);
+ SendMessageW(hReBarWnd, RB_INSERTBAND, BANDID_TOOLBAR, (LPARAM)&rbb);
hDLL = LoadLibrary("RICHED20.DLL");
assert(hDLL);
@@ -674,6 +713,10 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam)
SendMessage(hwndEditor, EM_SETBKGNDCOLOR, 0, RGB(255,255,192));
break;
+ case ID_TOGGLE_TOOLBAR:
+ toggle_toolbar(BANDID_TOOLBAR);
+ break;
+
default:
SendMessage(hwndEditor, WM_COMMAND, wParam, lParam);
break;
@@ -685,8 +728,10 @@ static LRESULT OnInitPopupMenu( HWND hWnd, WPARAM wParam, LPARAM lParam )
{
HMENU hMenu = (HMENU)wParam;
HWND hwndEditor = GetDlgItem(hWnd, IDC_EDITOR);
+ HWND hwndReBar = GetDlgItem(hWnd, IDC_REBAR);
PARAFORMAT pf;
int nAlignment = -1;
+ REBARBANDINFOW rbbinfo;
pf.cbSize = sizeof(PARAFORMAT);
SendMessage(hwndEditor, EM_GETPARAFORMAT, 0, (LPARAM)&pf);
@@ -701,17 +746,26 @@ static LRESULT OnInitPopupMenu( HWND hWnd, WPARAM wParam, LPARAM lParam )
CheckMenuItem(hMenu, ID_ALIGN_RIGHT, MF_BYCOMMAND|(nAlignment == PFA_RIGHT) ? MF_CHECKED : MF_UNCHECKED);
EnableMenuItem(hMenu, ID_EDIT_UNDO, MF_BYCOMMAND|(SendMessage(hwndEditor, EM_CANUNDO, 0, 0)) ? MF_ENABLED : MF_GRAYED);
EnableMenuItem(hMenu, ID_EDIT_REDO, MF_BYCOMMAND|(SendMessage(hwndEditor, EM_CANREDO, 0, 0)) ? MF_ENABLED : MF_GRAYED);
+
+ rbbinfo.cbSize = sizeof(rbbinfo);
+ rbbinfo.fMask = RBBIM_STYLE;
+ SendMessageW(hwndReBar, RB_GETBANDINFO, 0, (LPARAM)&rbbinfo);
+
+ CheckMenuItem(hMenu, ID_TOGGLE_TOOLBAR, MF_BYCOMMAND|(rbbinfo.fStyle & RBBS_HIDDEN) ?
+ MF_UNCHECKED : MF_CHECKED);
+
return 0;
}
static LRESULT OnSize( HWND hWnd, WPARAM wParam, LPARAM lParam )
{
- int nStatusSize = 0, nTBSize = 0;
+ int nStatusSize = 0;
RECT rc;
HWND hwndEditor = GetDlgItem(hWnd, IDC_EDITOR);
HWND hwndStatusBar = GetDlgItem(hWnd, IDC_STATUSBAR);
HWND hwndReBar = GetDlgItem(hWnd, IDC_REBAR);
HWND hwndToolBar = GetDlgItem(hwndReBar, IDC_TOOLBAR);
+ int rebarHeight;
if (hwndStatusBar)
{
@@ -726,14 +780,14 @@ static LRESULT OnSize( HWND hWnd, WPARAM wParam, LPARAM lParam )
rc.bottom = HIWORD(lParam);
SendMessage(hwndToolBar, TB_AUTOSIZE, 0, 0);
SendMessage(hwndReBar, RB_SIZETORECT, 0, (LPARAM)&rc);
- nTBSize = SendMessage(hwndReBar, RB_GETBARHEIGHT, 0, 0);
GetClientRect(hwndReBar, &rc);
MoveWindow(hwndReBar, 0, 0, LOWORD(lParam), rc.right, FALSE);
}
if (hwndEditor)
{
+ rebarHeight = rebar_height();
GetClientRect(hWnd, &rc);
- MoveWindow(hwndEditor, 0, nTBSize, rc.right, rc.bottom-nStatusSize-nTBSize, TRUE);
+ MoveWindow(hwndEditor, 0, rebarHeight, rc.right, rc.bottom-nStatusSize-rebarHeight, TRUE);
}
return DefWindowProcW(hWnd, WM_SIZE, wParam, lParam);
More information about the wine-cvs
mailing list