OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [tools/] [src/] [tools/] [configtool/] [standalone/] [wxwin/] [appsettings.h] - Rev 438

Go to most recent revision | Compare with Previous | Blame | View Log

//####COPYRIGHTBEGIN####
//
// ----------------------------------------------------------------------------
// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
// Copyright (C) 2003 John Dallaway
//
// This program is part of the eCos host tools.
//
// This program is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 of the License, or (at your option)
// any later version.
//
// This program is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
// more details.
//
// You should have received a copy of the GNU General Public License along with
// this program; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// ----------------------------------------------------------------------------
//
//####COPYRIGHTEND####
// appsettings.h :
//
//===========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s):   julians, jld
// Contact(s):  julians
// Date:        2000/08/29
// Version:     $Id: appsettings.h,v 1.1.1.1 2004-02-14 13:28:50 phoenix Exp $
// Purpose:
// Description: Header file for the ConfigTool application settings
// Requires:
// Provides:
// See also:
// Known bugs:
// Usage:
//
//####DESCRIPTIONEND####
//
//===========================================================================
 
#ifndef _ECOS_APPSETTINGS_H_
#define _ECOS_APPSETTINGS_H_
 
#include "wx/config.h"
#include "filename.h"
#include "ecutils.h"
#include "eCosTest.h"
 
#ifdef __WXMSW__
#include "wx/msw/winundef.h"
#endif
 
// Frame status
#define ecSHOW_STATUS_NORMAL        0x01
#define ecSHOW_STATUS_MINIMIZED     0x02
#define ecSHOW_STATUS_MAXIMIZED     0x03
 
// What kind of browser (wxHtmlHelpController, default browser, custom browser)
enum ecBrowserType { ecInternal, ecAssociatedExternal, ecCustomExternal };
 
/*
 * ecRunTestSettings
 * Settings relating to running tests
 */
enum ResetType   {RESET_NONE,  RESET_X10, RESET_MANUAL};
enum TimeoutType {TIMEOUT_NONE,TIMEOUT_SPECIFIED, TIMEOUT_AUTOMATIC};
 
class ecRunTestsSettings: public wxObject
{
DECLARE_DYNAMIC_CLASS(ecRunTestsSettings)
public:
    ecRunTestsSettings();
    ecRunTestsSettings(const ecRunTestsSettings& settings);
 
//// Operations
    void Copy(const ecRunTestsSettings& settings);
 
    bool SaveConfig(wxConfig& config);
    bool LoadConfig(wxConfig& config);
 
//// Data members
    CeCosTest::ExecutionParameters  m_ep;
    int         m_nTimeout;
    int         m_nDownloadTimeout;
    int         m_nTimeoutType;
    int         m_nDownloadTimeoutType;
    bool        m_bRemote;
    bool        m_bSerial;
    int         m_nBaud;
    int         m_nLocalTCPIPPort;
    int         m_nReset;
    int         m_nResourcePort;
    int         m_nRemotePort;
    bool        m_bFarmed;
    wxString    m_strPort; // Serial port
    wxString    m_strTarget;
 
    wxString    m_strRemoteHost;
    wxString    m_strResourceHost;
    wxString    m_strLocalTCPIPHost;
    wxString    m_strReset;
};
 
/*
 * ecSettings
 * Various application settings
 */
 
class ecSettings: public wxObject
{
DECLARE_DYNAMIC_CLASS(ecSettings)
public:
    ecSettings();
    ecSettings(const ecSettings& settings);
    ~ecSettings();
 
//// Operations
    // Copy from settings to 'this'
    void Copy(const ecSettings& settings);
 
    // Load config info
    bool LoadConfig();
 
    // Save config info
    bool SaveConfig();
 
    // Load and save font descriptions
    bool LoadFont(wxConfig& config, const wxString& windowName, wxFont& font);
    bool SaveFont(wxConfig& config, const wxString& windowName, const wxFont& font);
    bool LoadFonts(wxConfig& config);
    bool SaveFonts(wxConfig& config);
    bool ApplyFontsToWindows();
 
    // Do some initialisation within ecApp::OnInit
    bool Init();
 
    // Show settings dialog
    void ShowSettingsDialog(const wxString& page = wxEmptyString);
 
    // Create new filename
    wxString GenerateFilename(const wxString& rootName);
 
    // Go looking for potential candidates in SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
    int GetRepositoryRegistryClues(wxArrayString& arstr, const wxString& pszPrefix);
 
    // Finds the path of the latest installed eCos (Unix only)
    wxString FindLatestVersion();
 
    // Find the subkey of the latest installed eCos, e.g. "1.4.9"
    wxString GetInstallVersionKey ();
 
#ifdef __WXMSW__
    // Find the location of the Cygwin installation
    wxString GetCygwinInstallPath ();
#endif
 
//// Accessors
 
    wxString GetAppName() const { return m_appName; }
 
    // Get a name suitable for the configuration file on all platforms:
    // e.g. eCos Configuration Tool on Windows, .eCosConfigTool on Unix
    wxString GetConfigAppName() const ;
 
    wxString& GetLastFilename() { return m_lastFilename; }
 
    const ecFileName& DefaultExternalBrowser() ;
 
    const wxString& GetUserToolsDir() const { return m_userToolsDir; }
    const wxString& GetBuildToolsDir() const { return m_buildToolsDir; }  /* Only used if no other clues */
 
    wxStringToStringMap& GetBinDirs() { return m_arstrBinDirs; }
 
    ecRunTestsSettings& GetRunTestsSettings() { return m_runTestsSettings; }
 
    wxWindowSettings& GetWindowSettings() { return m_windowSettings; }
 
public:
    bool                    m_showToolBar;
    wxRect                  m_frameSize;
    wxString                m_appName;     // The current name of the app...
    bool                    m_showSplashScreen; // Show the splash screen
    wxString                m_userName;
    int                     m_serialNumber;
    wxString                m_lastFilename; // So we can auto-generate sensible filenames
    int                     m_frameStatus;
 
	// Sash window sizes
	wxSize					m_treeSashSize;
	wxSize					m_conflictsSashSize;
	wxSize					m_propertiesSashSize;
	wxSize					m_shortDescrSashSize;
	wxSize					m_memorySashSize;
	wxSize					m_outputSashSize;
    int                     m_configPaneWidth; // The sash to the right of the tree
    bool                    m_showConflictsWindow;
    bool                    m_showPropertiesWindow;
    bool                    m_showShortDescrWindow;
    bool                    m_showMemoryWindow;
    bool                    m_showOutputWindow;
 
    // Are we showing macro names, or ordinary names?
    bool                    m_showMacroNames ;
 
    // Are we merely editing the .ecc file and not saving build trees?
    // This option is specified on the command line and not saved.
    bool                    m_editSaveFileOnly;
 
    // Viewers & browsers
    bool                    m_bUseCustomViewer;
    bool                    m_bUseExternalBrowser;
    wxString                m_strBrowser;
    ecFileName              m_strViewer;
    ecBrowserType           m_eUseCustomBrowser;
    static ecFileName       m_strDefaultExternalBrowser;
    bool                    m_bHex;
 
    ecFileName              m_userToolsDir;
    ecFileName              m_buildToolsDir; /* Only used if no other clues */
 
    wxString                m_strMakeOptions;
 
    wxStringToStringMap     m_arstrBinDirs;  // Not saved
    wxArrayString           m_userToolPaths; // Not saved
 
    ecFileName              m_strRepository; // This is saved/loaded via ecSettings, and
                                             // copied to/from ecConfigToolDoc on doc creation/deletion.
                                             // This is because the doc doesn't have its own profile loading/saving.
 
    enum {Never=0, Immediate=1, Deferred=2, SuggestFixes=4};
    int                     m_nRuleChecking; // OR of above values
 
    // Find dialog settings
    wxString                m_findText;
    bool                    m_findMatchWholeWord;
    bool                    m_findMatchCase;
    bool                    m_findDirection; // Down is TRUE, Up is FALSE
    wxString                m_findSearchWhat; // Macro names, item names etc.
    wxPoint                 m_findDialogPos; // Position of dialog
 
    // Run tests settings
    ecRunTestsSettings      m_runTestsSettings;
 
    // Font settings
    wxWindowSettings        m_windowSettings;
 
    // Packages dialog settings
    bool                    m_omitHardwarePackages;
    bool                    m_matchPackageNamesExactly;
};
 
#endif
        // _ECOS_APPSETTINGS_H_
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.