LAMPCAE/src/Settings/BusAPI.h

250 lines
5.9 KiB
C
Raw Normal View History

2023-05-08 06:32:41 +00:00
/**
* @file BusAPI.h
* @brief (.h)
* @author FastCAE(fastcae@diso.cn)
* @version 2.5.0
* @date 2022-02-13 16:40
* @copyright Copyright (c) Since 2020 All rights reserved.
*
* ============================================================================
* Program: FastCAE
*
* Copyright (c) Since 2020 All rights reserved.
* See License or http://www.fastcae.com/ for details.
*
* BSD 3-Clause License
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED.
* ==================================================================================
*/
#ifndef _SETTINGBUSAPI_H_
#define _SETTINGBUSAPI_H_
#include <QString>
#include <QStringList>
#include <QColor>
#include "SettingAPI.h"
namespace GUI
{
class MainWindow;
}
/**
* @brief
* @since 2.5.0
*/
namespace Setting
{
class MainSetting;
// class SolverManager;
// class SolveOption;
class GraphOption;
class MessageSetting;
class SETTINGAPI BusAPI
{
public:
/**
* @brief
* @return BusAPI*
* @since 2.5.0
*/
static BusAPI *instance();
/**
* @brief ini
* @since 2.5.0
*/
void writeINI();
/**
* @brief
* @since 2.5.0
*/
void setWorkingDir();
// void setDesignModel(bool m);
// bool isDesignModel();
/**
* @brief
* @return QString
* @since 2.5.0
*/
QString getWorkingDir();
// void setSolver();
/**
* @brief ChineseEnglish
* @param lang
* @since 2.5.0
*/
void setLanguage(const QString lang);
/**
* @brief
* @return QString ChineseEnglish
* @since 2.5.0
*/
QString getLanguage();
// SolverManager* getSolverManager();
// void setSolverOptions();
// SolveOption* getSolveOptions();
/**
* @brief
* @deprecated 使showGraphOptionsDialog()
* @since 2.5.0
*/
void setGraphOptions();
/**
* @brief
* @since 2.5.0
*/
void showGraphOptionsDialog();
/**
* @brief
* @return GraphOption*
* @since 2.5.0
*/
GraphOption *getGraphOption();
/**
* @brief
* @return QStringList
* @since 2.5.0
*/
QStringList getRencetFiles();
/**
* @brief
* @param f
* @since 2.5.0
*/
void appendRecentFile(QString f);
/**
* @brief
* @param p
* @since 2.5.0
*/
void setPlugins(QStringList p);
/**
* @brief
* @return QStringList
* @since 2.5.0
*/
QStringList getPlugins();
/**
* @brief
* @param s
* @since 2.5.0
*/
void isEnableUserGuidence(bool s);
/**
* @brief
* @return bool
* @since 2.5.0
*/
bool isEnableUserGuidence();
/**
* @brief 使Ribbon
* @param on 使Ribbon
* @since 2.5.0
*/
void isUseRibbon(bool on);
/**
* @brief 使Ribbon
* @return bool 使Ribbon
* @since 2.5.0
*/
bool isUseRibbon();
/**
* @brief License
* @return QString License
* @since 2.5.0
*/
QString getLicensePath() const;
/**
* @brief License
* @param licensePath License
* @since 2.5.0
*/
void setLicensePath(const QString &licensePath);
/**
* @brief
* @return GUI::MainWindow*
* @since 2.5.0
*/
GUI::MainWindow *getMainWindow();
/**
* @brief
* @param mw
* @since 2.5.0
*/
void setMainWindow(GUI::MainWindow *mw);
int getMessageShowMode() const;
void setMessageShowMode(int showMode);
bool getMessageShowType() const;
void setMessageShowType(bool showType);
bool getMessageShowTime() const;
void setMessageShowTime(bool showTime);
int getMessageFontPts() const;
void setMessageFontPts(int fontPts);
QColor getMessageBkColor() const;
void setMessageBkColor(const QColor &bkColor);
private:
/**
* @brief
* @since 2.5.0
*/
BusAPI();
/**
* @brief
* @since 2.5.0
*/
~BusAPI();
/**
* @brief ini
* @since 2.5.0
*/
void readINI();
private:
/**
* @brief
* @since 2.5.0
*/
static BusAPI *_ins;
/**
* @brief
* @since 2.5.0
*/
MainSetting *_mainSetting{};
// SolverManager* _solvers{};
// SolveOption* _solveOption{};
/**
* @brief
* @since 2.5.0
*/
GraphOption *_graphOption{};
/**
* @brief
* @since 2.5.0
*/
MessageSetting *_messageSetting{};
/**
* @brief
* @since 2.5.0
*/
GUI::MainWindow *_mainWindow{};
// bool _isDesignModel{ false };
};
}
#endif