From 0ce40abb18ec02ec6fd6bcc5f21612c88daa7578 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 12 Oct 2020 03:04:00 +0000 Subject: CTAN sync 202010120303 --- support/dktools/Dk4WxFrame.cpp | 705 ----------------------------------------- 1 file changed, 705 deletions(-) delete mode 100644 support/dktools/Dk4WxFrame.cpp (limited to 'support/dktools/Dk4WxFrame.cpp') diff --git a/support/dktools/Dk4WxFrame.cpp b/support/dktools/Dk4WxFrame.cpp deleted file mode 100644 index 4d684ace05..0000000000 --- a/support/dktools/Dk4WxFrame.cpp +++ /dev/null @@ -1,705 +0,0 @@ -/* -Copyright (C) 2015-2020, Dirk Krause -SPDX-License-Identifier: BSD-3-Clause -*/ - -/* - WARNING: This file was generated by the dkct program (see - http://dktools.sourceforge.net/ for details). - Changes you make here will be lost if dkct is run again! - You should modify the original source and run dkct on it. - Original source: Dk4WxFrame.cpt -*/ - -/** @file Dk4WxFrame.cpp The Dk4WxFrame module. -*/ - - -#line 166 "Dk4WxFrame.cpt" - - -#ifndef DK4CONF_H_INCLUDED -#include "dk4conf.h" -#endif - -#ifndef DK4WXFRAME_H_INCLUDED -#include "Dk4WxFrame.h" -#endif - -#ifndef DK4MPL_H_INCLUDED -#include "dk4mpl.h" -#endif - -#ifndef DK4MEM_H_INCLUDED -#include "dk4mem.h" -#endif - -#ifndef DK4STRD_H_INCLUDED -#include "dk4strd.h" -#endif - -#ifndef DK4PATHD_H_INCLUDED -#include "dk4pathd.h" -#endif - -#ifndef DK4STRX_H_INCLUDED -#include "dk4strx.h" -#endif - -#ifndef DK4RECWX_H_INCLUDED -#include "dk4recwx.h" -#endif - - - - -#line 202 "Dk4WxFrame.cpt" - - - - -/** Protection for number of instances. -*/ -wxCriticalSection Dk4WxFrame::csInstances; - - - -/** Number of instances. -*/ -int Dk4WxFrame::iInstances = 0; - - - -/** Keywords to save and restore window size and position. -*/ -static const wxChar * const dk4wxframe_kw_size[] = { -/* 0 */ -wxT("window.x"), - -/* 1 */ -wxT("window.y"), - -/* 2 */ -wxT("window.w"), - -/* 3 */ -wxT("window.h"), - -/* 4 */ -wxT("window.maximized"), - -/* 5 */ -wxT("window.iconized"), - -NULL - - -#line 229 "Dk4WxFrame.cpt" -}; - - - -/** Keywords to restore maximized and iconized state. -*/ -static const wxChar * const dk4wxframe_kw_restore[] = { -/* 0 */ -wxT("window.restore-maximized"), - -/* 1 */ -wxT("window.restore-iconized"), - -/* 2 */ -wxT("window.restore-size"), - -NULL - - -#line 241 "Dk4WxFrame.cpt" -}; - - - -/** File name suffixes indicating to open file in web browser. -*/ -static const wxChar * const dk4wxframe_suffix_web[] = { -/* 0 */ -wxT(".html"), - -/* 1 */ -wxT(".htm"), - -NULL - - -#line 252 "Dk4WxFrame.cpt" -}; - - - -/** Static text fragments, not localized. -*/ -static const wxChar * const dk4wxframe_kwnl_wx[] = { -/* 0 */ -wxT("file://"), - -NULL - - -#line 265 "Dk4WxFrame.cpt" -}; - - - -Dk4WxFrame::Dk4WxFrame( - const wxString & appName, - Dk4WxApplicationHelper *appHelper, - Dk4WxHelpController *helpController, - int wxid -) -: wxFrame(NULL, wxid, appName) -{ - pAppHelp = appHelper; - pHelp = helpController; - sAppName = appName; - { - wxCriticalSectionLocker lock(csInstances); - iInstances++; - } - Connect(wxid, wxEVT_CLOSE_WINDOW, wxCloseEventHandler(Dk4WxFrame::OnClose)); -} - - - -void -Dk4WxFrame::OnClose(wxCloseEvent & event) -{ - bool doClose = true; - bool isFinal = false; - bool savePos = false; - - { - wxCriticalSectionLocker lock(csInstances); - if (1 == iInstances) { - isFinal = true; - } - } - if (event.CanVeto()) { - doClose = CanClose(isFinal); - } else { - (void)CanClose(isFinal); - } - if (doClose) { - { - wxCriticalSectionLocker lock(csInstances); - if (1 == iInstances--) { savePos = true; } - } - if (savePos) { - SavePosition(); - } - event.Skip(); - } else { - event.Veto(); - } -} - - - -bool -Dk4WxFrame::CanClose(bool WXUNUSED(isFinal)) -{ - return true; -} - - -void -Dk4WxFrame::SavePosition(void) -{ - int iv[6]; - - -#line 335 "Dk4WxFrame.cpt" - if (NULL != pAppHelp) { - iv[4] = iv[5] = 0; - if (IsIconized()) { - iv[5] = 1; - Iconize(false); - } - if (IsMaximized()) { - iv[4] = 1; - Maximize(false); - } - GetPosition(&(iv[0]), &(iv[1])); - GetSize(&(iv[2]), &(iv[3])); - - -#line 348 "Dk4WxFrame.cpt" - - -#line 349 "Dk4WxFrame.cpt" - - -#line 350 "Dk4WxFrame.cpt" - - -#line 351 "Dk4WxFrame.cpt" - - -#line 352 "Dk4WxFrame.cpt" - pAppHelp->SetMultiple(dk4wxframe_kw_size, iv, 6); - } - - -#line 355 "Dk4WxFrame.cpt" -} - - - -void -Dk4WxFrame::RestorePosition(void) -{ - int iv[6]; /* Values stored in config */ - bool bv[3]; /* Feature restore: maximized, iconized, position */ - int x; /* X position */ - int y; /* Y position */ - int w; /* Width */ - int h; /* Height */ - - - -#line 370 "Dk4WxFrame.cpt" - - /* Restore position by default. - */ - bv[2] = true; - - /* Initialize variables. - */ - iv[0] = iv[1] = -1; - iv[2] = iv[3] = iv[4] = iv[5] = 0; - bv[0] = bv[1] = false; - - /* Retrieve stored values if found. - */ - if (NULL != pAppHelp) { - pAppHelp->GetMultiple(dk4wxframe_kw_size, iv, 6); - - -#line 386 "Dk4WxFrame.cpt" - - -#line 387 "Dk4WxFrame.cpt" - - -#line 388 "Dk4WxFrame.cpt" - - -#line 389 "Dk4WxFrame.cpt" - - -#line 390 "Dk4WxFrame.cpt" - - -#line 391 "Dk4WxFrame.cpt" - pAppHelp->GetMultiple(dk4wxframe_kw_restore, bv, 3); - - -#line 393 "Dk4WxFrame.cpt" - - -#line 394 "Dk4WxFrame.cpt" - - -#line 395 "Dk4WxFrame.cpt" - } - - /* Find size if not stored. - */ - GetSize(&w, &h); - x = iv[0]; - y = iv[1]; - - -#line 403 "Dk4WxFrame.cpt" - - -#line 404 "Dk4WxFrame.cpt" - - -#line 405 "Dk4WxFrame.cpt" - - -#line 406 "Dk4WxFrame.cpt" - - /* Correct size if size restoration wanted, increase if necessary. - */ - if (bv[2]) { - -#line 410 "Dk4WxFrame.cpt" - if (iv[2] > w) { - w = iv[2]; - -#line 412 "Dk4WxFrame.cpt" - } - if (iv[3] > h) { - h = iv[3]; - -#line 415 "Dk4WxFrame.cpt" - } - } - - /* Correct values, no parts of window should be outside screen. - */ - Dk4WxApplicationHelper::CorrectPosition(x, y, w, h); - - -#line 422 "Dk4WxFrame.cpt" - - -#line 423 "Dk4WxFrame.cpt" - - -#line 424 "Dk4WxFrame.cpt" - - -#line 425 "Dk4WxFrame.cpt" - - /* Set position and optionally size. - */ - if (bv[2]) { - -#line 429 "Dk4WxFrame.cpt" - SetSize(x, y, w, h); -#if wxCHECK_VERSION(3,0,0) - { - int t1 = 0; - int t2 = 0; - GetSize(&t1, &t2); - if ((t1 > w) || (t2 > h)) { - -#line 436 "Dk4WxFrame.cpt" - if (t1 > w) { - w = w - (t1 - w); - -#line 438 "Dk4WxFrame.cpt" - } - if (t2 > h) { - h = h - (t2 - h); - -#line 441 "Dk4WxFrame.cpt" - } - -#line 442 "Dk4WxFrame.cpt" - SetSize(x, y, w, h); - GetSize(&t1, &t2); - - -#line 445 "Dk4WxFrame.cpt" - - -#line 446 "Dk4WxFrame.cpt" - } - } -#endif - } else { - -#line 450 "Dk4WxFrame.cpt" - SetPosition( wxPoint(x,y) ); - } - - /* Restore maximized or iconized state if required. - */ - if (bv[0]) { - -#line 456 "Dk4WxFrame.cpt" - Maximize(0 != iv[4]); - } -#if TRACE_DEBUG - else { - -#line 460 "Dk4WxFrame.cpt" - } -#endif - if (bv[1]) { - -#line 463 "Dk4WxFrame.cpt" - Iconize(0 != iv[5]); - } -#if TRACE_DEBUG - else { - -#line 467 "Dk4WxFrame.cpt" - } -#endif - - - -#line 471 "Dk4WxFrame.cpt" -} - - - -void -Dk4WxFrame::DisplayContents(void) -{ - if (NULL != pHelp) { - pHelp->DisplayContents(); - } -} - - - -void -Dk4WxFrame::DisplaySection(wxString const & name) -{ - if (NULL != pHelp) { - pHelp->DisplaySection(name); - } -} - - - -void -Dk4WxFrame::DisplaySection(int number) -{ - if (NULL != pHelp) { - pHelp->DisplaySection(number); - } -} - - - -bool -Dk4WxFrame::FindFileAndLaunch(dkChar const *fn, bool bIsHelp, bool bVerbose) -{ - wxChar bw[2 * DK4_MAX_PATH]; /* Full path in wxChar */ - wxChar b2[2 * DK4_MAX_PATH]; - dkChar b1[DK4_MAX_PATH]; /* Search result (full path) */ - wxChar const *psuffix; /* File name suffix */ - wxChar *pmod; - size_t szb1 = DK4_SIZEOF(b1,dkChar); /* Size of b1 (num of dkChar) */ - size_t szb2 = DK4_SIZEOF(b2,wxChar); /* Size of b2 (num of wxChar) */ - size_t szbw = DK4_SIZEOF(bw,wxChar); /* Size of bw (num of wxChar) */ - int res; /* Operation result */ - int de; /* Destination encoding */ - int se; /* Source encoding */ - bool isweb; /* Use web browser */ - bool done; /* Successfully done */ - bool back; /* Result */ - - -#line 523 "Dk4WxFrame.cpt" - back = false; - if ((NULL != fn) && (NULL != pAppHelp)) { - done = false; - /* - Check for absolute path. - Use absolute path unchanged. - For a relative path do file search. - */ - if (0 != dk4path_is_absolute(fn)) { - -#line 532 "Dk4WxFrame.cpt" - if (0 != dk4str_cpy_s(b1, szb1, fn, NULL)) { - -#line 533 "Dk4WxFrame.cpt" - done = true; - } -#if TRACE_DEBUG - else { - -#line 537 "Dk4WxFrame.cpt" - } -#endif - } - else { - -#line 541 "Dk4WxFrame.cpt" - if (bIsHelp) { - if (pAppHelp->FindHelpFile(b1, szb1, fn)) { - -#line 543 "Dk4WxFrame.cpt" - done = true; - -#line 544 "Dk4WxFrame.cpt" - } -#if TRACE_DEBUG - else { - -#line 547 "Dk4WxFrame.cpt" - } -#endif - } - else { - if (pAppHelp->FindDataFile(b1, szb1, fn)) { - -#line 552 "Dk4WxFrame.cpt" - done = true; - -#line 553 "Dk4WxFrame.cpt" - } -#if TRACE_DEBUG - else { - -#line 556 "Dk4WxFrame.cpt" - } -#endif - } - } - if (done) { - done = false; - de = pAppHelp->GetWxEncoding(); - se = pAppHelp->GetDkEncoding(); - res = dk4recwx_dkchar_to_wxchar(bw, szbw, de, b1, se, NULL); - if (0 != res) { - -#line 566 "Dk4WxFrame.cpt" - isweb = false; - -#line 567 "Dk4WxFrame.cpt" - psuffix = dk4strx_get_path_suffix(bw, NULL); - if (NULL != psuffix) { - -#line 569 "Dk4WxFrame.cpt" - if (0 <= dk4strx_array_index(dk4wxframe_suffix_web, psuffix, 0)) { - isweb = true; - -#line 571 "Dk4WxFrame.cpt" - } - } - if (isweb) { - -#line 574 "Dk4WxFrame.cpt" - if (::wxLaunchDefaultBrowser(bw)) { - done = true; - -#line 576 "Dk4WxFrame.cpt" - back = true; - } - else { - -#line 579 "Dk4WxFrame.cpt" - if (0 != dk4strx_cpy_s(b2, szb2, dk4wxframe_kwnl_wx[0], NULL)) { - - -#line 581 "Dk4WxFrame.cpt" - if (0 != dk4strx_cat_s(b2, szb2, bw, NULL)) { - -#line 582 "Dk4WxFrame.cpt" - - -#line 583 "Dk4WxFrame.cpt" - if (::wxLaunchDefaultBrowser(bw)) { - -#line 584 "Dk4WxFrame.cpt" - done = true; - back = true; - } - else { - -#line 588 "Dk4WxFrame.cpt" - pmod = &(b2[dk4strx_len(dk4wxframe_kwnl_wx[0])]); - while (wxT('\0') != *pmod) { - if (wxT('\\') == *pmod) { *pmod = wxT('/'); } - pmod++; - } - -#line 593 "Dk4WxFrame.cpt" - - -#line 594 "Dk4WxFrame.cpt" - if (::wxLaunchDefaultBrowser(bw)) { - done = true; - -#line 596 "Dk4WxFrame.cpt" - back = true; - } -#if TRACE_DEBUG - else { - -#line 600 "Dk4WxFrame.cpt" - } -#endif - } - } - else { - -#line 605 "Dk4WxFrame.cpt" - /* ##### ERROR: BUG */ - } - } - else { - -#line 609 "Dk4WxFrame.cpt" - /* ##### ERROR: BUG */ - } - } - } - if (!(done)) { - -#line 614 "Dk4WxFrame.cpt" -#if wxCHECK_VERSION(3,0,0) - if (::wxLaunchDefaultApplication(bw)) { - -#line 616 "Dk4WxFrame.cpt" - done = true; - back = true; - } -#if TRACE_DEBUG - else { - -#line 621 "Dk4WxFrame.cpt" - } -#endif -#endif - } - if (!(done)) { - /* ERROR: Failed to start application */ - if (bVerbose) { - wxString t; - t.Append(pAppHelp->GetBasicString(12)); - t.Append(bw); - t.Append(pAppHelp->GetBasicString(13)); - ::wxMessageBox( - t, pAppHelp->GetBasicString(11), (wxOK | wxCENTRE | wxICON_ERROR) - ); - } - } - } - else { - -#line 639 "Dk4WxFrame.cpt" - /* ERROR: Recoding failed */ - if (bVerbose) { - ::wxMessageBox( - pAppHelp->GetBasicString(10), pAppHelp->GetBasicString(9), - (wxOK | wxCENTRE | wxICON_ERROR) - ); - } - } - } - else { - -#line 649 "Dk4WxFrame.cpt" - /* ERROR: File not found */ - if (bVerbose) { - ::wxMessageBox( - pAppHelp->GetBasicString(10), pAppHelp->GetBasicString(9), - (wxOK | wxCENTRE | wxICON_ERROR) - ); - } - } - } -#if TRACE_DEBUG - else { - -#line 660 "Dk4WxFrame.cpt" - } -#endif - - -#line 663 "Dk4WxFrame.cpt" - return back; -} - - - -- cgit v1.2.3