NOT PART OF BUILD. Improve editor functionality, fix focus problems in editor/browser, add editor icons
|
@ -37,9 +37,7 @@
|
|||
class BrowserFrame :
|
||||
public GeckoFrame
|
||||
{
|
||||
public :
|
||||
BrowserFrame(wxWindow* aParent);
|
||||
|
||||
protected:
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
void OnBrowserUrl(wxCommandEvent &event);
|
||||
|
@ -52,6 +50,8 @@ public :
|
|||
void OnUpdateBrowserBack(wxUpdateUIEvent &event);
|
||||
void OnUpdateBrowserForward(wxUpdateUIEvent &event);
|
||||
void OnUpdateBrowserStop(wxUpdateUIEvent &event);
|
||||
public :
|
||||
BrowserFrame(wxWindow* aParent);
|
||||
|
||||
// GeckoContainerUI overrides
|
||||
virtual nsresult CreateBrowserWindow(PRUint32 aChromeFlags,
|
||||
|
|
|
@ -45,6 +45,8 @@ ChatFrame::ChatFrame(wxWindow* aParent)
|
|||
{
|
||||
wxXmlResource::Get()->LoadFrame(this, aParent, wxT("chat_frame"));
|
||||
|
||||
SetName("chat");
|
||||
|
||||
SetIcon(wxICON(appicon));
|
||||
|
||||
SetupDefaultGeckoWindow();
|
||||
|
|
|
@ -40,29 +40,175 @@
|
|||
#include "EditorFrame.h"
|
||||
|
||||
BEGIN_EVENT_TABLE(EditorFrame, GeckoFrame)
|
||||
//EVT_TEXT_ENTER(XRCID("chat"), ChatFrame::OnChat)
|
||||
EVT_MENU(XRCID("edit_bold"), EditorFrame::OnEditBold)
|
||||
EVT_MENU(XRCID("edit_italic"), EditorFrame::OnEditItalic)
|
||||
EVT_MENU(XRCID("edit_underline"), EditorFrame::OnEditUnderline)
|
||||
EVT_UPDATE_UI(XRCID("edit_bold"), EditorFrame::OnUpdateToggleCmd)
|
||||
EVT_UPDATE_UI(XRCID("edit_italic"), EditorFrame::OnUpdateToggleCmd)
|
||||
EVT_UPDATE_UI(XRCID("edit_underline"), EditorFrame::OnUpdateToggleCmd)
|
||||
EVT_MENU(XRCID("edit_indent"), EditorFrame::OnEditIndent)
|
||||
EVT_MENU(XRCID("edit_outdent"), EditorFrame::OnEditOutdent)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
EditorFrame::EditorFrame(wxWindow* aParent)
|
||||
{
|
||||
wxXmlResource::Get()->LoadFrame(this, aParent, wxT("editor_frame"));
|
||||
|
||||
SetName("editor");
|
||||
|
||||
SetIcon(wxICON(appicon));
|
||||
|
||||
SetupDefaultGeckoWindow();
|
||||
|
||||
SendSizeEvent(); //
|
||||
|
||||
|
||||
MakeEditable();
|
||||
|
||||
mCommandManager = do_GetInterface(mWebBrowser);
|
||||
|
||||
nsCOMPtr<nsIWebNavigation> webNav = do_QueryInterface(mWebBrowser);
|
||||
webNav->LoadURI(NS_ConvertASCIItoUCS2("www.mozilla.org").get(),
|
||||
nsIWebNavigation::LOAD_FLAGS_NONE, nsnull, nsnull, nsnull);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void EditorFrame::MakeEditable()
|
||||
{
|
||||
nsCOMPtr<nsIDOMWindow> domWindow;
|
||||
mWebBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
|
||||
|
||||
nsCOMPtr<nsIEditingSession> editingSession = do_GetInterface(mWebBrowser);
|
||||
if (!editingSession)
|
||||
return;// NS_ERROR_FAILURE;
|
||||
|
||||
editingSession->MakeWindowEditable(domWindow, NULL, PR_TRUE);
|
||||
}
|
||||
|
||||
void EditorFrame::DoCommand(const char *aCommand, nsICommandParams *aCommandParams)
|
||||
{
|
||||
if (mCommandManager)
|
||||
{
|
||||
nsCOMPtr<nsIDOMWindow> domWindow;
|
||||
mWebBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
|
||||
mCommandManager->DoCommand(aCommand, aCommandParams, domWindow);
|
||||
}
|
||||
}
|
||||
|
||||
void EditorFrame::IsCommandEnabled(const char *aCommand, PRBool *retval)
|
||||
{
|
||||
if (mCommandManager)
|
||||
{
|
||||
nsCOMPtr<nsIDOMWindow> domWindow;
|
||||
mWebBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
|
||||
mCommandManager->IsCommandEnabled(aCommand, domWindow, retval);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EditorFrame::GetCommandState(const char *aCommand, nsICommandParams *aCommandParams)
|
||||
{
|
||||
if (mCommandManager)
|
||||
{
|
||||
nsCOMPtr<nsIDOMWindow> domWindow;
|
||||
mWebBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
|
||||
mCommandManager->GetCommandState(aCommand, domWindow, aCommandParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
nsresult MakeCommandParams(nsICommandParams **aParams)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsICommandParams> params = do_CreateInstance(NS_COMMAND_PARAMS_CONTRACTID,&rv);
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
if (!params)
|
||||
return NS_ERROR_FAILURE;
|
||||
*aParams = params;
|
||||
NS_ADDREF(*aParams);
|
||||
return rv;
|
||||
}
|
||||
|
||||
const char kCmdBold[] = "cmd_bold";
|
||||
const char kCmdItalic[] = "cmd_italic";
|
||||
const char kCmdUnderline[] = "cmd_underline";
|
||||
const char kCmdIndent[] = "cmd_indent";
|
||||
const char kCmdOutdent[] = "cmd_outdent";
|
||||
|
||||
|
||||
void EditorFrame::OnEditBold(wxCommandEvent &event)
|
||||
{
|
||||
// command manager cmd_bold
|
||||
DoCommand(kCmdBold, nsnull);
|
||||
}
|
||||
|
||||
void EditorFrame::OnEditItalic(wxCommandEvent &event)
|
||||
{
|
||||
// command manager cmd_bold
|
||||
DoCommand(kCmdItalic, nsnull);
|
||||
}
|
||||
|
||||
void EditorFrame::OnEditUnderline(wxCommandEvent &event)
|
||||
{
|
||||
// command manager cmd_bold
|
||||
DoCommand(kCmdUnderline, nsnull);
|
||||
}
|
||||
|
||||
void EditorFrame::OnEditIndent(wxCommandEvent &event)
|
||||
{
|
||||
// command manager cmd_bold
|
||||
DoCommand(kCmdIndent, nsnull);
|
||||
}
|
||||
|
||||
void EditorFrame::OnEditOutdent(wxCommandEvent &event)
|
||||
{
|
||||
// command manager cmd_bold
|
||||
DoCommand(kCmdOutdent, nsnull);
|
||||
}
|
||||
|
||||
|
||||
#define STATE_ALL "state_all"
|
||||
#define STATE_MIXED "state_mixed"
|
||||
#define STATE_ATTRIBUTE "state_attribute"
|
||||
#define STATE_ENABLED "state_enabled"
|
||||
|
||||
void EditorFrame::OnUpdateToggleCmd(wxUpdateUIEvent &event)
|
||||
{
|
||||
const char *cmd = NULL;
|
||||
if (event.GetId() == XRCID("edit_bold"))
|
||||
{
|
||||
cmd = kCmdBold;
|
||||
}
|
||||
else if (event.GetId() == XRCID("edit_italic"))
|
||||
{
|
||||
cmd = kCmdItalic;
|
||||
}
|
||||
else if (event.GetId() == XRCID("edit_underline"))
|
||||
{
|
||||
cmd = kCmdUnderline;
|
||||
}
|
||||
|
||||
// command manager GetCommandState cmd_bold
|
||||
nsCOMPtr<nsICommandParams> params;
|
||||
if (NS_SUCCEEDED(MakeCommandParams(getter_AddRefs(params))))
|
||||
{
|
||||
GetCommandState(cmd, params);
|
||||
|
||||
// Does our current selection span mixed styles?
|
||||
// If so, set the toolbar button to an indeterminate
|
||||
// state
|
||||
//
|
||||
PRBool bMixedStyle = PR_FALSE;
|
||||
params->GetBooleanValue(STATE_MIXED, &bMixedStyle);
|
||||
|
||||
// We're not in STATE_MIXED. Enable/Disable the
|
||||
// toolbar button based on it's current state
|
||||
//
|
||||
PRBool bCmdEnabled = PR_FALSE;
|
||||
params->GetBooleanValue(STATE_ALL, &bCmdEnabled);
|
||||
|
||||
event.Check((bMixedStyle || bCmdEnabled) ? TRUE : FALSE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,13 +34,29 @@
|
|||
|
||||
#include "GeckoFrame.h"
|
||||
|
||||
#include "nsICommandManager.h"
|
||||
#include "nsICommandParams.h"
|
||||
|
||||
class EditorFrame :
|
||||
public GeckoFrame
|
||||
{
|
||||
protected:
|
||||
DECLARE_EVENT_TABLE()
|
||||
void OnEditBold(wxCommandEvent &event);
|
||||
void OnEditItalic(wxCommandEvent &event);
|
||||
void OnEditUnderline(wxCommandEvent &event);
|
||||
void OnEditIndent(wxCommandEvent &event);
|
||||
void OnEditOutdent(wxCommandEvent &event);
|
||||
void OnUpdateToggleCmd(wxUpdateUIEvent &event);
|
||||
public :
|
||||
EditorFrame(wxWindow* aParent);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
nsCOMPtr<nsICommandManager> mCommandManager;
|
||||
|
||||
void MakeEditable();
|
||||
void DoCommand(const char *aCommand, nsICommandParams *aCommandParams);
|
||||
void IsCommandEnabled(const char *aCommand, PRBool *retval);
|
||||
void GetCommandState(const char *aCommand, nsICommandParams *aCommandParams);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -169,7 +169,7 @@ void EmbedApp::OnAbout(wxCommandEvent & WXUNUSED(event))
|
|||
void EmbedApp::OnMail(wxCommandEvent & WXUNUSED(event))
|
||||
{
|
||||
// Create the mail frame window
|
||||
static MailFrame * frame = NULL;
|
||||
MailFrame * frame = (MailFrame *) wxWindow::FindWindowByName("mail", NULL);;
|
||||
if (!frame)
|
||||
frame = new MailFrame(NULL);
|
||||
if (frame)
|
||||
|
@ -178,7 +178,7 @@ void EmbedApp::OnMail(wxCommandEvent & WXUNUSED(event))
|
|||
|
||||
void EmbedApp::OnChat(wxCommandEvent & WXUNUSED(event))
|
||||
{
|
||||
static ChatFrame * frame = NULL;
|
||||
ChatFrame * frame = (ChatFrame *) wxWindow::FindWindowByName("chat", NULL);
|
||||
if (!frame)
|
||||
frame = new ChatFrame(NULL);
|
||||
if (frame)
|
||||
|
@ -187,7 +187,7 @@ void EmbedApp::OnChat(wxCommandEvent & WXUNUSED(event))
|
|||
|
||||
void EmbedApp::OnEditor(wxCommandEvent & WXUNUSED(event))
|
||||
{
|
||||
static EditorFrame * frame = NULL;
|
||||
EditorFrame * frame = (EditorFrame *) wxWindow::FindWindowByName("editor", NULL);
|
||||
if (!frame)
|
||||
frame = new EditorFrame(NULL);
|
||||
if (frame)
|
||||
|
|
|
@ -34,11 +34,18 @@
|
|||
#include "GeckoFrame.h"
|
||||
#include "GeckoContainer.h"
|
||||
|
||||
#include "nsIWebBrowserFocus.h"
|
||||
|
||||
GeckoFrame::GeckoFrame() :
|
||||
mGeckoWnd(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
BEGIN_EVENT_TABLE(GeckoFrame, wxFrame)
|
||||
EVT_ACTIVATE(GeckoFrame::OnActivate)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
bool GeckoFrame::SetupDefaultGeckoWindow()
|
||||
{
|
||||
mGeckoWnd = (GeckoWindow *) FindWindowById(XRCID("gecko"), this);
|
||||
|
@ -68,7 +75,34 @@ bool GeckoFrame::SetupGeckoWindow(GeckoWindow *aGeckoWindow, GeckoContainerUI *a
|
|||
geckoContainer->CreateBrowser(0, 0, size.GetWidth(), size.GetHeight(),
|
||||
(nativeWindow) aGeckoWindow->GetHWND(), aWebBrowser);
|
||||
|
||||
aUI->ShowWindow(PR_TRUE);
|
||||
nsCOMPtr<nsIBaseWindow> webBrowserAsWin = do_QueryInterface(*aWebBrowser);
|
||||
if (webBrowserAsWin)
|
||||
{
|
||||
webBrowserAsWin->SetVisibility(PR_TRUE);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void GeckoFrame::OnActivate(wxActivateEvent &event)
|
||||
{
|
||||
nsCOMPtr<nsIWebBrowserFocus> focus(do_GetInterface(mWebBrowser));
|
||||
if (focus)
|
||||
{
|
||||
if (event.GetActive())
|
||||
focus->Activate();
|
||||
else
|
||||
focus->Deactivate();
|
||||
}
|
||||
wxFrame::OnActivate(event);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// GeckoContainerUI overrides
|
||||
|
||||
void GeckoFrame::SetFocus()
|
||||
{
|
||||
mGeckoWnd->SetFocus();
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,9 @@ protected:
|
|||
public:
|
||||
GeckoFrame();
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
void OnActivate(wxActivateEvent &event);
|
||||
|
||||
// This method searches for a "gecko" wxWindow and sets it up with the frame
|
||||
// as the container UI. The results are stored in the mGeckoWnd and mWebBrowser
|
||||
// member variables.
|
||||
|
@ -54,6 +57,9 @@ public:
|
|||
// This method sets up the specified window with the specified container UI
|
||||
// and returns the nsIWebBrowser interface to it.
|
||||
bool SetupGeckoWindow(GeckoWindow *aGeckoWindow, GeckoContainerUI *aUI, nsIWebBrowser **aWebBrowser) const;
|
||||
|
||||
// GeckoContainerUI overrides
|
||||
void SetFocus();
|
||||
};
|
||||
|
||||
#endif
|
|
@ -32,6 +32,7 @@
|
|||
#include "global.h"
|
||||
|
||||
#include "GeckoWindow.h"
|
||||
#include "nsIWebBrowserFocus.h"
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(GeckoWindow, wxPanel)
|
||||
|
||||
|
@ -56,7 +57,9 @@ void GeckoWindow::SetGeckoContainer(GeckoContainer *aGeckoContainer)
|
|||
}
|
||||
|
||||
BEGIN_EVENT_TABLE(GeckoWindow, wxPanel)
|
||||
EVT_SIZE(GeckoWindow::OnSize)
|
||||
EVT_SIZE( GeckoWindow::OnSize)
|
||||
EVT_SET_FOCUS( GeckoWindow::OnSetFocus)
|
||||
EVT_KILL_FOCUS(GeckoWindow::OnKillFocus)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
void GeckoWindow::OnSize(wxSizeEvent &event)
|
||||
|
@ -77,3 +80,11 @@ void GeckoWindow::OnSize(wxSizeEvent &event)
|
|||
webBrowserAsWin->SetVisibility(PR_TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
void GeckoWindow::OnSetFocus(wxFocusEvent &event)
|
||||
{
|
||||
}
|
||||
|
||||
void GeckoWindow::OnKillFocus(wxFocusEvent &event)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -41,6 +41,8 @@ class GeckoWindow : public wxPanel
|
|||
protected:
|
||||
DECLARE_EVENT_TABLE()
|
||||
void OnSize(wxSizeEvent &event);
|
||||
void OnSetFocus(wxFocusEvent &event);
|
||||
void OnKillFocus(wxFocusEvent &event);
|
||||
|
||||
GeckoContainer *mGeckoContainer;
|
||||
|
||||
|
|
|
@ -148,6 +148,8 @@ MailFrame::MailFrame(wxWindow* aParent)
|
|||
{
|
||||
wxXmlResource::Get()->LoadFrame(this, aParent, wxT("mail_frame"));
|
||||
|
||||
SetName("mail");
|
||||
|
||||
SetIcon(wxICON(appicon));
|
||||
|
||||
if (!gMailChannelCallbackRegistered)
|
||||
|
|
|
@ -9,10 +9,11 @@ embedding functionality of Gecko not an end solution.
|
|||
|
||||
To build wxEmbed you must:
|
||||
|
||||
1. Get the latest 2.4 release from wxwindows.org
|
||||
1. Get the latest 2.4 (at least 2.4.1) release from wxwindows.org
|
||||
2. Build the debug/release static lib versions
|
||||
3. cd into wxWindows/control and build src/xrc and utils/wxrc
|
||||
4. Set your WXWIN environment variable to point to the wxWindows dir
|
||||
5. Build Mozilla
|
||||
6. Set MOZ_SRC environment variable to point to it.
|
||||
7. Call nmake /f makefile.vc
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ MOZINC = \
|
|||
-I$(MOZSDK)\include\embed_base \
|
||||
-I$(MOZSDK)\include\windowwatcher \
|
||||
-I$(MOZSDK)\include\composer \
|
||||
-I$(MOZSDK)\include\commandhandler \
|
||||
$(NULL)
|
||||
|
||||
# This isn't much better either!
|
||||
|
|
После Ширина: | Высота: | Размер: 116 B |
После Ширина: | Высота: | Размер: 117 B |
После Ширина: | Высота: | Размер: 117 B |
После Ширина: | Высота: | Размер: 141 B |
После Ширина: | Высота: | Размер: 145 B |
После Ширина: | Высота: | Размер: 126 B |
|
@ -5,7 +5,7 @@
|
|||
<object class="wxFrame" name="browser_frame">
|
||||
<title>wxEmbed Browser</title>
|
||||
<size>300,300</size>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<pos>-1,-1</pos>
|
||||
|
||||
<!-- Browser context menus -->
|
||||
|
@ -160,7 +160,7 @@
|
|||
<object class="sizeritem">
|
||||
<flag>wxGROW|wxALL</flag>
|
||||
<object class="wxPanel" name="gecko" subclass="GeckoWindow">
|
||||
<style>wxCLIP_CHILDREN|wxSUNKEN_BORDER</style>
|
||||
<style>wxCLIP_CHILDREN|wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style>
|
||||
<size>500,280</size>
|
||||
</object>
|
||||
</object>
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
<resource version="2.3.0.1">
|
||||
|
||||
<object class="wxFrame" name="chat_frame">
|
||||
<title>wxEmbed Mail</title>
|
||||
<title>wxEmbed Chat</title>
|
||||
<size>300,300</size>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<pos>-1,-1</pos>
|
||||
|
||||
<!-- Mail menu -->
|
||||
|
|
После Ширина: | Высота: | Размер: 123 B |
|
@ -3,9 +3,9 @@
|
|||
<resource version="2.3.0.1">
|
||||
|
||||
<object class="wxFrame" name="editor_frame">
|
||||
<title>wxEmbed Mail</title>
|
||||
<title>wxEmbed Editor</title>
|
||||
<size>300,300</size>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<pos>-1,-1</pos>
|
||||
|
||||
<!-- Editor menu -->
|
||||
|
@ -21,25 +21,24 @@
|
|||
<bitmapsize>20,18</bitmapsize>
|
||||
|
||||
<object class="tool" name="edit_bold">
|
||||
<bitmap>home.gif</bitmap>
|
||||
<bitmap>bold.gif</bitmap>
|
||||
<tooltip>Bold</tooltip>
|
||||
</object>
|
||||
<object class="tool" name="browse_italic">
|
||||
<bitmap>home.gif</bitmap>
|
||||
<object class="tool" name="edit_italic">
|
||||
<bitmap>italic.gif</bitmap>
|
||||
<tooltip>Italic</tooltip>
|
||||
</object>
|
||||
<object class="separator"/>
|
||||
<object class="tool" name="browse_underline">
|
||||
<bitmap>home.gif</bitmap>
|
||||
<object class="tool" name="edit_underline">
|
||||
<bitmap>underline.gif</bitmap>
|
||||
<tooltip>Underline</tooltip>
|
||||
</object>
|
||||
<object class="separator"/>
|
||||
<object class="tool" name="browse_indent">
|
||||
<bitmap>home.gif</bitmap>
|
||||
<object class="tool" name="edit_indent">
|
||||
<bitmap>indent.gif</bitmap>
|
||||
<tooltip>Indent paragraph</tooltip>
|
||||
</object>
|
||||
<object class="tool" name="browse_outdent">
|
||||
<bitmap>home.gif</bitmap>
|
||||
<object class="tool" name="edit_outdent">
|
||||
<bitmap>outdent.gif</bitmap>
|
||||
<tooltip>Outdent paragraph</tooltip>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -58,7 +57,7 @@
|
|||
<object class="sizeritem">
|
||||
<flag>wxGROW|wxALL</flag>
|
||||
<object class="wxPanel" name="gecko" subclass="GeckoWindow">
|
||||
<style>wxCLIP_CHILDREN|wxSUNKEN_BORDER</style>
|
||||
<style>wxCLIP_CHILDREN|wxSUNKEN_BORDER|wxTAB_TRAVERSAL|wxWANTS_CHARS</style>
|
||||
<size>500,280</size>
|
||||
</object>
|
||||
</object>
|
||||
|
|
После Ширина: | Высота: | Размер: 131 B |
После Ширина: | Высота: | Размер: 121 B |
После Ширина: | Высота: | Размер: 117 B |
|
@ -5,7 +5,7 @@
|
|||
<object class="wxFrame" name="mail_frame">
|
||||
<title>wxEmbed Mail</title>
|
||||
<size>300,300</size>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER|wxRESIZE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE_BOX|wxCLIP_CHILDREN</style>
|
||||
<pos>-1,-1</pos>
|
||||
|
||||
<!-- Mail menu -->
|
||||
|
|
После Ширина: | Высота: | Размер: 120 B |
После Ширина: | Высота: | Размер: 146 B |
После Ширина: | Высота: | Размер: 124 B |
|
@ -176,21 +176,40 @@ SOURCE=.\MailFrame.h
|
|||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Group "Image Files"
|
||||
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\aligncenter.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\alignleft.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\alignright.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\anchor.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\back.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\browser.xrc
|
||||
SOURCE=.\rc\background.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\chat.xrc
|
||||
SOURCE=.\rc\bold.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\editor.xrc
|
||||
SOURCE=.\rc\decreasefont.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
|
@ -206,7 +225,23 @@ SOURCE=.\rc\home.gif
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\mail.xrc
|
||||
SOURCE=.\rc\increasefont.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\indent.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\italic.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\outdent.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\pen.gif
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
|
@ -218,6 +253,27 @@ SOURCE=.\rc\stop.gif
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\underline.gif
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\browser.xrc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\chat.xrc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\editor.xrc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rc\mail.xrc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\wxEmbed.rc
|
||||
# End Source File
|
||||
# End Group
|
||||
|
@ -232,10 +288,6 @@ SOURCE=.\resource.cpp
|
|||
# Begin Group "External Files"
|
||||
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\wxWindows-2.4.0\docs\tech\tn0014.txt"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
|
|