aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/c_src/wxePrintout.cpp
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2014-01-14 13:17:25 +0100
committerDan Gudmundsson <[email protected]>2014-01-21 16:04:26 +0100
commit6459bb3e5c82cdd5474bdd77d8aff3a12ce88910 (patch)
treeb6e69430f8827bef89871efdb7681a5e418960d9 /lib/wx/c_src/wxePrintout.cpp
parentcdd8d5daadc29a128e7c671e705a3e3ad32c7ecb (diff)
downloadotp-6459bb3e5c82cdd5474bdd77d8aff3a12ce88910.tar.gz
otp-6459bb3e5c82cdd5474bdd77d8aff3a12ce88910.tar.bz2
otp-6459bb3e5c82cdd5474bdd77d8aff3a12ce88910.zip
wx: Refactor C++ code
Try to clean up the files a bit
Diffstat (limited to 'lib/wx/c_src/wxePrintout.cpp')
-rw-r--r--lib/wx/c_src/wxePrintout.cpp243
1 files changed, 0 insertions, 243 deletions
diff --git a/lib/wx/c_src/wxePrintout.cpp b/lib/wx/c_src/wxePrintout.cpp
deleted file mode 100644
index fc8782ba95..0000000000
--- a/lib/wx/c_src/wxePrintout.cpp
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
- *
- * The contents of this file are subject to the Erlang Public License,
- * Version 1.1, (the "License"); you may not use this file except in
- * compliance with the License. You should have received a copy of the
- * Erlang Public License along with this software. If not, it can be
- * retrieved online at http://www.erlang.org/.
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and limitations
- * under the License.
- *
- * %CopyrightEnd%
- */
-
-#include <wx/wx.h>
-#include "wxe_impl.h"
-#include "wxe_return.h"
-#include "gen/wxe_macros.h"
-#include "gen/wxe_derived_dest.h"
-
-/* *****************************************************************/
-/* Special Class impls */
-
-#define INVOKE_CALLBACK_INIT(port, callback, class_str) \
- { \
- wxeMemEnv * memenv = ((WxeApp *) wxTheApp)->getMemEnv(port); \
- wxeReturn rt = wxeReturn(WXE_DRV_PORT, memenv->owner, false); \
- rt.addInt(callback); \
- rt.addRef(((WxeApp *) wxTheApp)->getRef((void *)this, memenv), class_str);
-
-#define INVOKE_CALLBACK_END(port, args) \
- rt.endList(1 + (args)); \
- rt.addAtom("_wx_invoke_cb_"); \
- rt.addTupleCount(3); \
- rt.send(); \
- handle_event_callback(WXE_DRV_PORT_HANDLE, memenv->owner); \
- }
-
-#define INVOKE_CALLBACK(port, callback, class_str) \
- INVOKE_CALLBACK_INIT(port, callback, class_str); \
- INVOKE_CALLBACK_END(port, 0)
-
-/* *****************************************************************/
-/* Printing special */
-
-wxEPrintout::~wxEPrintout() {
- clear_cb(port, onPrintPage);
- clear_cb(port, onPreparePrinting);
- clear_cb(port, onBeginPrinting);
- clear_cb(port, onEndPrinting);
- clear_cb(port, onBeginDocument);
- clear_cb(port, onEndDocument);
- clear_cb(port, hasPage);
- clear_cb(port, getPageInfo);
-
- ((WxeApp *)wxTheApp)->clearPtr(this);
-}
-
-bool wxEPrintout::OnBeginDocument(int startPage, int endPage)
-{
- if(onBeginDocument) {
- INVOKE_CALLBACK_INIT(port, onBeginDocument, "wxPrintout");
- rt.addInt(startPage);
- rt.addInt(endPage);
- INVOKE_CALLBACK_END(port, 2);
- if(((WxeApp *) wxTheApp)->cb_buff) {
- int res = * (int*) ((WxeApp *) wxTheApp)->cb_buff;
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return res;
- }
- }
- return wxPrintout::OnBeginDocument(startPage,endPage);
-}
-
-void wxEPrintout::OnEndDocument()
-{
- if(onEndDocument) {
- INVOKE_CALLBACK(port, onEndDocument, "wxPrintout");
- } else {
- wxPrintout::OnEndDocument();
- }
-}
-
-void wxEPrintout::OnBeginPrinting()
-{
-
- if(onBeginPrinting) {
- INVOKE_CALLBACK(port, onBeginPrinting, "wxPrintout");
- } else {
- wxPrintout::OnBeginPrinting();
- }
-}
-
-void wxEPrintout::OnEndPrinting()
-{
-
- if(onEndPrinting) {
- INVOKE_CALLBACK(port, onEndPrinting, "wxPrintout");
- } else {
- wxPrintout::OnEndPrinting();
- }
-}
-
-void wxEPrintout::OnPreparePrinting()
-{
-
- if(onPreparePrinting) {
- INVOKE_CALLBACK(port, onPreparePrinting, "wxPrintout");
- } else {
- wxPrintout::OnPreparePrinting();
- }
-}
-
-bool wxEPrintout::HasPage(int page)
-{
-
- if(hasPage) {
- INVOKE_CALLBACK_INIT(port, hasPage, "wxPrintout");
- rt.addInt(page);
- INVOKE_CALLBACK_END(port, 1);
- if(((WxeApp *) wxTheApp)->cb_buff) {
- int res = * (int*) ((WxeApp *) wxTheApp)->cb_buff;
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return res;
- }
- }
- return wxPrintout::HasPage(page);
-}
-
-bool wxEPrintout::OnPrintPage(int page)
-{
- INVOKE_CALLBACK_INIT(port, onPrintPage, "wxPrintout");
- rt.addInt(page);
- INVOKE_CALLBACK_END(port, 1);
- if(((WxeApp *) wxTheApp)->cb_buff) {
- int res = * (int*) ((WxeApp *) wxTheApp)->cb_buff;
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return res;
- }
- return FALSE;
-}
-
-void wxEPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo)
-{
- if(getPageInfo) {
- INVOKE_CALLBACK(port, getPageInfo, "wxPrintout");
- if(((WxeApp *) wxTheApp)->cb_buff) {
- char * bp = ((WxeApp *) wxTheApp)->cb_buff;
- *minPage = *(int *) bp; bp += 4;
- *maxPage = *(int *) bp; bp += 4;
- *pageFrom = *(int *) bp; bp += 4;
- *pageTo = *(int *) bp; bp += 4;
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- }
- }
- wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
-}
-
-/* *****************************************************************/
-// ListCtrl with callbacks for VIRTUAL_TABLES
-
-wxString EwxListCtrl::OnGetItemText(long item, long col) const {
- if(onGetItemText) {
- INVOKE_CALLBACK_INIT(port, onGetItemText, "wxListCtrl");
- rt.addInt(item);
- rt.addInt(col);
- INVOKE_CALLBACK_END(port, 2);
- if(((WxeApp *) wxTheApp)->cb_buff) {
- char * bp = ((WxeApp *) wxTheApp)->cb_buff;
- wxString str = wxString(bp, wxConvUTF8);
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return str;
- }
- }
- return wxT("OnGetItemText not correctly defined");
-}
-
-wxListItemAttr* EwxListCtrl::OnGetItemAttr(long item) const {
- if(onGetItemAttr) {
- INVOKE_CALLBACK_INIT(port, onGetItemAttr, "wxListCtrl");
- rt.addInt(item);
- INVOKE_CALLBACK_END(port, 1);
- char * bp = ((WxeApp *) wxTheApp)->cb_buff;
- wxeMemEnv * memenv = ((WxeApp *) wxTheApp)->getMemEnv(port);
- if(bp) {
- wxListItemAttr * result = (wxListItemAttr *)((WxeApp *) wxTheApp)->getPtr(bp, memenv);
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return result;
- }
- }
- return NULL;
-}
-
-int EwxListCtrl::OnGetItemImage(long item) const {
- return OnGetItemColumnImage(item, 0);
-}
-
-int EwxListCtrl::OnGetItemColumnImage(long item, long col) const {
- if(onGetItemColumnImage) {
- INVOKE_CALLBACK_INIT(port, onGetItemColumnImage, "wxListCtrl");
- rt.addInt(item);
- rt.addInt(col);
- INVOKE_CALLBACK_END(port, 2);
- if(((WxeApp *) wxTheApp)->cb_buff) {
- int res = * (int*) ((WxeApp *) wxTheApp)->cb_buff;
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return res;
- }
- }
- return -1;
-}
-
-EwxListCtrl::~EwxListCtrl() {
- clear_cb(port, onGetItemText);
- clear_cb(port, onGetItemAttr);
- clear_cb(port, onGetItemColumnImage);
- ((WxeApp *)wxTheApp)->clearPtr(this);
-}
-// tools
-
-void clear_cb(ErlDrvTermData port, int callback)
-{
- if(callback > 0) {
- wxeMemEnv * memenv = ((WxeApp *) wxTheApp)->getMemEnv(port);
- wxeReturn rt = wxeReturn(WXE_DRV_PORT, memenv->owner, false);
- rt.addAtom("wx_delete_cb");
- rt.addInt(callback);
- rt.addTupleCount(2);
- rt.send();
- }
-}