Patch level : 760
Files correlati : xvaga.dll Ricompilazione Demo : [ ] Commento : Support per file di help in formato PDF git-svn-id: svn://10.65.10.50/trunk@20561 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
48a8bdb667
commit
cbe140da9e
@ -3,6 +3,7 @@
|
|||||||
#include "wx/image.h"
|
#include "wx/image.h"
|
||||||
#include "wx/paper.h"
|
#include "wx/paper.h"
|
||||||
#include "wx/printdlg.h"
|
#include "wx/printdlg.h"
|
||||||
|
#include "wx/msw/helpchm.h"
|
||||||
|
|
||||||
#include "oswin32.h"
|
#include "oswin32.h"
|
||||||
#include "aclapi.h"
|
#include "aclapi.h"
|
||||||
@ -11,12 +12,10 @@
|
|||||||
#include "xvt_help.h"
|
#include "xvt_help.h"
|
||||||
#include "xvtart.h"
|
#include "xvtart.h"
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#include "xvt_defs.h"
|
||||||
#define WIN32_EXTRA_LEAN
|
#include "xvt_env.h"
|
||||||
#define STRICT
|
#include "xvt_type.h"
|
||||||
#include <windows.h>
|
#include "xvtwin.h"
|
||||||
#include <winspool.h>
|
|
||||||
#include <shellapi.h>
|
|
||||||
|
|
||||||
bool OsWin32_CheckPrinterInfo(const void* data, unsigned int size)
|
bool OsWin32_CheckPrinterInfo(const void* data, unsigned int size)
|
||||||
{
|
{
|
||||||
@ -450,9 +449,7 @@ void OsWin32_Beep(int severity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static wxString GetHelpDir()
|
static wxString GetHelpDir()
|
||||||
{
|
{ return "htmlhelp/"; }
|
||||||
return "htmlhelp/";
|
|
||||||
}
|
|
||||||
|
|
||||||
static wxString FindHelpFile(const char* topic)
|
static wxString FindHelpFile(const char* topic)
|
||||||
{
|
{
|
||||||
@ -472,18 +469,38 @@ static wxString FindHelpFile(const char* topic)
|
|||||||
{
|
{
|
||||||
str = GetHelpDir();
|
str = GetHelpDir();
|
||||||
str += i == 0 ? strTopic.Left(2) : strApp.Left(2);
|
str += i == 0 ? strTopic.Left(2) : strApp.Left(2);
|
||||||
str += "/";
|
str += "help.pdf";
|
||||||
str += strTopic;
|
if (::wxFileExists(str))
|
||||||
str += ".html";
|
|
||||||
if (wxFileExists(str))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
int OsWin32_Help(WXHWND handle, const char* WXUNUSED(hlp), unsigned int cmd, const char* topic)
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
str = GetHelpDir();
|
||||||
|
str += i == 0 ? strTopic.Left(2) : strApp.Left(2);
|
||||||
|
str += "help.chm";
|
||||||
|
if (::wxFileExists(str))
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
str = GetHelpDir();
|
||||||
|
str += i == 0 ? strTopic.Left(2) : strApp.Left(2);
|
||||||
|
str += "/";
|
||||||
|
str += strTopic;
|
||||||
|
str += ".html";
|
||||||
|
if (::wxFileExists(str))
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
return wxEmptyString;
|
||||||
|
}
|
||||||
|
|
||||||
|
int OsWin32_Help(WXHWND handle, const char* hlp, unsigned int cmd, const char* topic)
|
||||||
|
{
|
||||||
|
wxString str = hlp;
|
||||||
|
if (str.IsEmpty() || !wxFileExists(str))
|
||||||
{
|
{
|
||||||
wxString str;
|
|
||||||
switch(cmd)
|
switch(cmd)
|
||||||
{
|
{
|
||||||
case M_HELP_ONCONTEXT:
|
case M_HELP_ONCONTEXT:
|
||||||
@ -491,13 +508,42 @@ int OsWin32_Help(WXHWND handle, const char* WXUNUSED(hlp), unsigned int cmd, con
|
|||||||
if (wxFileExists(str))
|
if (wxFileExists(str))
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
str = FindHelpFile(topic);
|
||||||
|
if (wxFileExists(str))
|
||||||
|
{
|
||||||
|
topic = NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
str = GetHelpDir();
|
str = GetHelpDir();
|
||||||
str += "index.html";
|
str += "index.html";
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!str.IsEmpty() && wxFileExists(str))
|
if (!str.IsEmpty() && wxFileExists(str))
|
||||||
{
|
{
|
||||||
|
if (str.EndsWith(".pdf"))
|
||||||
|
{
|
||||||
|
wxString strCmd = OsWin32_File2App(str);
|
||||||
|
if (topic && *topic)
|
||||||
|
strCmd << " /A nameddest=" << topic;
|
||||||
|
strCmd << " " << str;
|
||||||
|
::wxExecute(strCmd);
|
||||||
|
} else
|
||||||
|
if (str.EndsWith(".chm"))
|
||||||
|
{
|
||||||
|
static wxCHMHelpController* hlp = new wxCHMHelpController;
|
||||||
|
if (hlp->LoadFile(str))
|
||||||
|
{
|
||||||
|
wxString strSection = topic;
|
||||||
|
strSection += ".html";
|
||||||
|
hlp->DisplaySection(strSection);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
if (str.EndsWith(".html"))
|
||||||
::ShellExecute((HWND)handle, "open", str, NULL, NULL, SW_SHOWDEFAULT);
|
::ShellExecute((HWND)handle, "open", str, NULL, NULL, SW_SHOWDEFAULT);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
OsWin32_Beep(1);
|
OsWin32_Beep(1);
|
||||||
@ -803,7 +849,11 @@ wxString OsWin32_File2App(const char* filename)
|
|||||||
if (*filename == '.')
|
if (*filename == '.')
|
||||||
ext = filename;
|
ext = filename;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
wxSplitPath(filename, NULL, NULL, &ext);
|
wxSplitPath(filename, NULL, NULL, &ext);
|
||||||
|
if (!ext.StartsWith("."))
|
||||||
|
ext = "." + ext;
|
||||||
|
}
|
||||||
ext.MakeLower();
|
ext.MakeLower();
|
||||||
|
|
||||||
wxString key;
|
wxString key;
|
||||||
@ -834,7 +884,7 @@ static bool IsInternetAddress(const char* filename)
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
wxString ext; wxFileName::SplitPath(url, NULL, NULL, NULL, &ext);
|
wxString ext; wxFileName::SplitPath(url, NULL, NULL, NULL, &ext);
|
||||||
const char* const extensions[] = { "com","edu","gov","it","mil","net","org", NULL };
|
const char* const extensions[] = { "com","edu","eu","gov","it","mil","net","org", NULL };
|
||||||
for (int e = 0; extensions[e]; e++)
|
for (int e = 0; extensions[e]; e++)
|
||||||
if (ext == extensions[e])
|
if (ext == extensions[e])
|
||||||
return true;
|
return true;
|
||||||
@ -934,28 +984,6 @@ bool OsWin32_GotoUrl(const char* url, const char* action)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
void OsWin32_SpoolNewLine(unsigned int hdc)
|
|
||||||
{
|
|
||||||
char output[4];
|
|
||||||
output[0] = 1; // Lunghezza: byte basso
|
|
||||||
output[1] = 0; // Lunghezza: byte alto
|
|
||||||
output[2] = '\n'; // A capo
|
|
||||||
output[3] = 0; // Shwarzenegger
|
|
||||||
::Escape((HDC)hdc, PASSTHROUGH, 0, output, NULL );
|
|
||||||
}
|
|
||||||
|
|
||||||
bool OsWin32_IsGenericTextOnly(void* data)
|
|
||||||
{
|
|
||||||
LPDEVMODE pdm = (LPDEVMODE)data;
|
|
||||||
if (pdm->dmYResolution == 6) // Win 9x only
|
|
||||||
return true;
|
|
||||||
if (strstr((const char*)pdm->dmDeviceName, "eneric") != NULL)
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef SPEECH_API
|
#ifdef SPEECH_API
|
||||||
|
|
||||||
#include "\Programmi\Microsoft Speech SDK 5.1\Include\sapi.h"
|
#include "\Programmi\Microsoft Speech SDK 5.1\Include\sapi.h"
|
||||||
|
@ -1845,6 +1845,12 @@ BOOLEAN xvt_fsys_set_dir(const DIRECTORY *dirp)
|
|||||||
|
|
||||||
inline bool XVT_SAME_COLOR(COLOR col1, COLOR col2) { return (col1 & 0x00FFFFFF) == (col2 & 0x00FFFFFF); }
|
inline bool XVT_SAME_COLOR(COLOR col1, COLOR col2) { return (col1 & 0x00FFFFFF) == (col2 & 0x00FFFFFF); }
|
||||||
|
|
||||||
|
void xvt_image_blur(XVT_IMAGE img, short radius)
|
||||||
|
{
|
||||||
|
CAST_TIMAGE(img, image);
|
||||||
|
image->Blur(radius);
|
||||||
|
}
|
||||||
|
|
||||||
XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* src)
|
XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* src)
|
||||||
{
|
{
|
||||||
wxRect r;
|
wxRect r;
|
||||||
|
@ -61,6 +61,7 @@ XVTDLL void xvt_ctl_check_radio_button(WINDOW Win, WINDOW* Wins, int NbrWindo
|
|||||||
XVTDLL WINDOW xvt_ctl_create_def(WIN_DEF *win_def_p, WINDOW parent_win, long app_data);
|
XVTDLL WINDOW xvt_ctl_create_def(WIN_DEF *win_def_p, WINDOW parent_win, long app_data);
|
||||||
XVTDLL void xvt_ctl_set_checked(WINDOW Win, BOOLEAN Check);
|
XVTDLL void xvt_ctl_set_checked(WINDOW Win, BOOLEAN Check);
|
||||||
XVTDLL void xvt_ctl_set_colors(WINDOW win, const XVT_COLOR_COMPONENT* colors, XVT_COLOR_ACTION action);
|
XVTDLL void xvt_ctl_set_colors(WINDOW win, const XVT_COLOR_COMPONENT* colors, XVT_COLOR_ACTION action);
|
||||||
|
XVTDLL void xvt_ctl_set_texture(WINDOW win, XVT_IMAGE img);
|
||||||
|
|
||||||
XVTDLL void xvt_debug_printf(const char* fmt, ...);
|
XVTDLL void xvt_debug_printf(const char* fmt, ...);
|
||||||
|
|
||||||
@ -205,6 +206,7 @@ XVTDLL void xvt_help_close_helpfile(XVT_HELP_INFO hi);
|
|||||||
XVTDLL XVT_HELP_INFO xvt_help_open_helpfile(FILE_SPEC *fs, unsigned long flags);
|
XVTDLL XVT_HELP_INFO xvt_help_open_helpfile(FILE_SPEC *fs, unsigned long flags);
|
||||||
XVTDLL BOOLEAN xvt_help_process_event(XVT_HELP_INFO hi, WINDOW win, EVENT *ev);
|
XVTDLL BOOLEAN xvt_help_process_event(XVT_HELP_INFO hi, WINDOW win, EVENT *ev);
|
||||||
|
|
||||||
|
XVTDLL void xvt_image_blur(XVT_IMAGE image, short radius);
|
||||||
XVTDLL XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* rct);
|
XVTDLL XVT_IMAGE xvt_image_capture(WINDOW win, const RCT* rct);
|
||||||
XVTDLL XVT_IMAGE xvt_image_create(XVT_IMAGE_FORMAT format, short width, short height, COLOR color);
|
XVTDLL XVT_IMAGE xvt_image_create(XVT_IMAGE_FORMAT format, short width, short height, COLOR color);
|
||||||
XVTDLL void xvt_image_destroy(XVT_IMAGE image);
|
XVTDLL void xvt_image_destroy(XVT_IMAGE image);
|
||||||
|
@ -167,6 +167,8 @@ public:
|
|||||||
|
|
||||||
class TwxPopUp : public wxVListBox
|
class TwxPopUp : public wxVListBox
|
||||||
{
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(TwxPopUp);
|
||||||
|
|
||||||
wxArrayString m_menu;
|
wxArrayString m_menu;
|
||||||
int m_nHovering;
|
int m_nHovering;
|
||||||
wxCoord m_nRowHeight;
|
wxCoord m_nRowHeight;
|
||||||
@ -174,6 +176,7 @@ class TwxPopUp : public wxVListBox
|
|||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
void NotifySelection();
|
void NotifySelection();
|
||||||
|
TwxPopUp() { wxFAIL; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
|
virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
|
||||||
@ -1744,6 +1747,8 @@ int xvt_list_count(WINDOW win)
|
|||||||
// TwxPopUp
|
// TwxPopUp
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(TwxPopUp, wxVListBox)
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(TwxPopUp, wxVListBox)
|
BEGIN_EVENT_TABLE(TwxPopUp, wxVListBox)
|
||||||
EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LISTBOX_SELECTED, TwxPopUp::OnSelected)
|
EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LISTBOX_SELECTED, TwxPopUp::OnSelected)
|
||||||
EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, TwxPopUp::OnSelected)
|
EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, TwxPopUp::OnSelected)
|
||||||
@ -1984,15 +1989,18 @@ MENU_TAG xvt_list_popup(WINDOW parent_win, const RCT* ownrct, const MENU_ITEM* m
|
|||||||
class TwxToolBar : public TwxToolBarBase
|
class TwxToolBar : public TwxToolBarBase
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(TwxToolBar)
|
DECLARE_DYNAMIC_CLASS(TwxToolBar)
|
||||||
|
wxBitmap m_texture;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
void OnTool(wxCommandEvent& evt);
|
void OnTool(wxCommandEvent& evt);
|
||||||
|
void OnEraseBackground(wxEraseEvent& evt);
|
||||||
virtual bool SetBackgroundColour(const wxColour& colour);
|
virtual bool SetBackgroundColour(const wxColour& colour);
|
||||||
TwxToolBar() : TwxToolBarBase(NULL, wxID_ANY) { wxASSERT(false); }
|
TwxToolBar() : TwxToolBarBase(NULL, wxID_ANY) { wxASSERT(false); }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void ShowTool(int id, bool on);
|
void ShowTool(int id, bool on);
|
||||||
|
void SetBackgroundTexture(XVT_IMAGE img);
|
||||||
TwxToolBar(wxWindow* parent, wxWindowID id, const wxPoint& pos,
|
TwxToolBar(wxWindow* parent, wxWindowID id, const wxPoint& pos,
|
||||||
const wxSize& size, long style);
|
const wxSize& size, long style);
|
||||||
};
|
};
|
||||||
@ -2001,6 +2009,7 @@ IMPLEMENT_DYNAMIC_CLASS(TwxToolBar, TwxToolBarBase)
|
|||||||
|
|
||||||
BEGIN_EVENT_TABLE(TwxToolBar, TwxToolBarBase)
|
BEGIN_EVENT_TABLE(TwxToolBar, TwxToolBarBase)
|
||||||
EVT_TOOL(wxID_ANY, TwxToolBar::OnTool)
|
EVT_TOOL(wxID_ANY, TwxToolBar::OnTool)
|
||||||
|
EVT_ERASE_BACKGROUND(TwxToolBar::OnEraseBackground)
|
||||||
END_EVENT_TABLE();
|
END_EVENT_TABLE();
|
||||||
|
|
||||||
void TwxToolBar::OnTool(wxCommandEvent& evt)
|
void TwxToolBar::OnTool(wxCommandEvent& evt)
|
||||||
@ -2013,6 +2022,26 @@ void TwxToolBar::OnTool(wxCommandEvent& evt)
|
|||||||
win->DoXvtEvent(e);
|
win->DoXvtEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TwxToolBar::OnEraseBackground(wxEraseEvent& evt)
|
||||||
|
{
|
||||||
|
wxDC& dc = *evt.GetDC();
|
||||||
|
if (m_texture.IsOk())
|
||||||
|
{
|
||||||
|
const wxCoord tw = m_texture.GetWidth();
|
||||||
|
const wxCoord th = m_texture.GetHeight();
|
||||||
|
wxCoord cw, ch; dc.GetSize(&cw, &ch);
|
||||||
|
for (wxCoord y = 0; y < ch; y += th)
|
||||||
|
for (wxCoord x = 0; x < cw; x += tw)
|
||||||
|
dc.DrawBitmap(m_texture, x, y);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wxBrush brush(GetBackgroundColour());
|
||||||
|
dc.SetBackground(brush);
|
||||||
|
dc.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool TwxToolBar::SetBackgroundColour(const wxColour& colour)
|
bool TwxToolBar::SetBackgroundColour(const wxColour& colour)
|
||||||
{
|
{
|
||||||
const bool ok = TwxToolBarBase::SetBackgroundColour(colour);
|
const bool ok = TwxToolBarBase::SetBackgroundColour(colour);
|
||||||
@ -2025,6 +2054,35 @@ bool TwxToolBar::SetBackgroundColour(const wxColour& colour)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TwxToolBar::SetBackgroundTexture(XVT_IMAGE xvt_img)
|
||||||
|
{
|
||||||
|
if (xvt_img != NULL)
|
||||||
|
{
|
||||||
|
const wxImage& img = *(wxImage*)xvt_img;
|
||||||
|
m_texture = wxBitmap(img);
|
||||||
|
|
||||||
|
wxImageHistogram histogram;
|
||||||
|
if (img.ComputeHistogram(histogram))
|
||||||
|
{
|
||||||
|
unsigned long nModa = 0;
|
||||||
|
wxColour cModa;
|
||||||
|
for(wxImageHistogram::iterator it = histogram.begin(); it != histogram.end(); ++it)
|
||||||
|
{
|
||||||
|
const wxImageHistogramEntry& e = it->second;
|
||||||
|
if (e.value > nModa)
|
||||||
|
{
|
||||||
|
cModa = it->first;
|
||||||
|
nModa = e.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (nModa > 0)
|
||||||
|
SetBackgroundColour(cModa);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_texture = wxNullBitmap;
|
||||||
|
}
|
||||||
|
|
||||||
TwxToolBar::TwxToolBar(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
|
TwxToolBar::TwxToolBar(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
|
||||||
: TwxToolBarBase(parent, id, pos, size, style)
|
: TwxToolBarBase(parent, id, pos, size, style)
|
||||||
{ }
|
{ }
|
||||||
@ -2203,6 +2261,7 @@ void xvt_toolbar_realize(WINDOW win)
|
|||||||
UnlockPane(win);
|
UnlockPane(win);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iucunde repetita juvant: forzo il colore del gripper che viene spesso dimenticato
|
// Iucunde repetita juvant: forzo il colore del gripper che viene spesso dimenticato
|
||||||
wxAuiDockArt* pArtist = FindArtist(ptb);
|
wxAuiDockArt* pArtist = FindArtist(ptb);
|
||||||
if (pArtist != NULL)
|
if (pArtist != NULL)
|
||||||
@ -2235,6 +2294,13 @@ void xvt_dwin_draw_tool(WINDOW win, int x, int y, int rid, int size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void xvt_ctl_set_texture(WINDOW win, XVT_IMAGE xvt_img)
|
||||||
|
{
|
||||||
|
TwxToolBar* w = wxDynamicCast((wxObject*)win, TwxToolBar);
|
||||||
|
if (w != NULL)
|
||||||
|
w->SetBackgroundTexture(xvt_img);
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// wxPropertyGrid
|
// wxPropertyGrid
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
@ -480,7 +480,7 @@ long xvt_fmap_get_family_sizes(PRINT_RCD *precp, char *family, long *size_array,
|
|||||||
long size = 0;
|
long size = 0;
|
||||||
*scalable = FALSE;
|
*scalable = FALSE;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef __WXMSW__
|
||||||
if (xvt_print_is_valid(precp))
|
if (xvt_print_is_valid(precp))
|
||||||
{
|
{
|
||||||
const TwxPrintOut& po = m_PrintoutCache.Get((TPRINT_RCD*)precp);
|
const TwxPrintOut& po = m_PrintoutCache.Get((TPRINT_RCD*)precp);
|
||||||
@ -503,7 +503,7 @@ long xvt_fmap_get_families(PRINT_RCD *precp, char **family_array, long max_famil
|
|||||||
long size = 0;
|
long size = 0;
|
||||||
family_array[0] = NULL;
|
family_array[0] = NULL;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef __WXMSW__
|
||||||
if (xvt_print_is_valid(precp))
|
if (xvt_print_is_valid(precp))
|
||||||
{
|
{
|
||||||
TwxPrintOut& po = m_PrintoutCache.Get((TPRINT_RCD*)precp);
|
TwxPrintOut& po = m_PrintoutCache.Get((TPRINT_RCD*)precp);
|
||||||
@ -532,7 +532,7 @@ void xvt_print_close(void)
|
|||||||
// Nothing to do ?
|
// Nothing to do ?
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN xvt_print_close_page(PRINT_RCD* precp)
|
BOOLEAN xvt_print_close_page(PRINT_RCD* WXUNUSED(precp))
|
||||||
{
|
{
|
||||||
BOOLEAN ok = m_PrintoutCache.Printing();
|
BOOLEAN ok = m_PrintoutCache.Printing();
|
||||||
if (ok)
|
if (ok)
|
||||||
@ -540,13 +540,6 @@ BOOLEAN xvt_print_close_page(PRINT_RCD* precp)
|
|||||||
const TwxPrintOut& po = m_PrintoutCache.Get(NULL);
|
const TwxPrintOut& po = m_PrintoutCache.Get(NULL);
|
||||||
wxDC* dc = po.GetDC();
|
wxDC* dc = po.GetDC();
|
||||||
dc->EndPage();
|
dc->EndPage();
|
||||||
/*
|
|
||||||
#ifdef __WXMSW__
|
|
||||||
TPRINT_RCD* prcd = (TPRINT_RCD*)precp;
|
|
||||||
if (OsWin32_IsGenericTextOnly(prcd->m_data))
|
|
||||||
OsWin32_SpoolNewLine((unsigned int)dc->GetHDC());
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -563,12 +556,12 @@ int xvt_print_set_name(PRINT_RCD* precp, const char* name)
|
|||||||
if (precp == NULL)
|
if (precp == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!name || !*name)
|
if (name == NULL || !*name)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
wxString n = name;
|
wxString n = name;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef __WXMSW__
|
||||||
wxStrncpy(((char*)precp) + 4, name, 32);
|
wxStrncpy(((char*)precp) + 4, name, 32);
|
||||||
#else
|
#else
|
||||||
TPRINT_RCD* rcd = (TPRINT_RCD*)precp;
|
TPRINT_RCD* rcd = (TPRINT_RCD*)precp;
|
||||||
@ -592,8 +585,16 @@ PRINT_RCD* xvt_print_create_by_name(int* sizep, const char* name)
|
|||||||
if (ispdf)
|
if (ispdf)
|
||||||
name = NULL;
|
name = NULL;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef __WXMSW__
|
||||||
void* data = OsWin32_GetPrinterInfo(*sizep, name);
|
void* data = OsWin32_GetPrinterInfo(*sizep, name);
|
||||||
|
if (data == NULL)
|
||||||
|
{
|
||||||
|
SLIST plist = xvt_print_list_devices();
|
||||||
|
SLIST_ELT pitem = xvt_slist_get_first(plist);
|
||||||
|
name = xvt_slist_get(plist, pitem, NULL);
|
||||||
|
data = OsWin32_GetPrinterInfo(*sizep, name);
|
||||||
|
xvt_slist_destroy(plist);
|
||||||
|
}
|
||||||
if (data != NULL)
|
if (data != NULL)
|
||||||
{
|
{
|
||||||
pr = new TPRINT_RCD;
|
pr = new TPRINT_RCD;
|
||||||
@ -903,7 +904,7 @@ static bool is_cups()
|
|||||||
SLIST xvt_print_list_devices()
|
SLIST xvt_print_list_devices()
|
||||||
{
|
{
|
||||||
SLIST list = xvt_slist_create();
|
SLIST list = xvt_slist_create();
|
||||||
#ifdef WIN32
|
#ifdef __WXMSW__
|
||||||
const DWORD dwFlags = PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS;
|
const DWORD dwFlags = PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS;
|
||||||
const int level = xvt_sys_get_os_version() >= XVT_WS_WIN_NT ? 4 : 5;
|
const int level = xvt_sys_get_os_version() >= XVT_WS_WIN_NT ? 4 : 5;
|
||||||
DWORD dwSize = 0, dwPrinters = 0;
|
DWORD dwSize = 0, dwPrinters = 0;
|
||||||
|
@ -901,7 +901,7 @@ BOOLEAN TwxWindow::AddPane(wxWindow* wnd, const char* caption, int nDock, int nF
|
|||||||
pane.CentrePane().CaptionVisible(true).BottomDockable();
|
pane.CentrePane().CaptionVisible(true).BottomDockable();
|
||||||
break;
|
break;
|
||||||
case 62: // Top toolbar
|
case 62: // Top toolbar
|
||||||
pane.ToolbarPane().Top().MinSize(wxSize(-1,sz.y));
|
pane.ToolbarPane().Top().MinSize(wxSize(-1,sz.y)).Gripper(false);
|
||||||
break;
|
break;
|
||||||
default: // Center
|
default: // Center
|
||||||
pane.CentrePane().Floatable(false);
|
pane.CentrePane().Floatable(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user