comac_desk_app/GenerateReport/GenerateReportBase.h

60 lines
1.7 KiB
C
Raw Permalink Normal View History

2024-11-21 11:50:43 +08:00
#ifndef GENERATEREPORT_GENERATEREPORTBASE_H
#define GENERATEREPORT_GENERATEREPORTBASE_H
#include <QString>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
using namespace com::sun::star::uno;
using namespace com::sun::star::frame;
using namespace com::sun::star::text;
namespace GenerateReport
{
class MainWindow;
}
#define GenerateReportBaseInstance GenerateReport::GenerateReportBase::getinstance()
namespace GenerateReport
{
class GenerateReportBase
{
public:
//brief : 获取单例
//return : _instance
static GenerateReportBase* getinstance();
//初始化
void init(GenerateReport::MainWindow* mainWindow);
void initUno();
css::uno::Reference<css::frame::XDesktop2> getDesktop();
GenerateReport::MainWindow* getMainWindow();
void setTextDocument(css::uno::Reference<css::text::XTextDocument> xTextDocument);
css::uno::Reference<css::text::XTextDocument> getTextDocument();
void setCurrentReportName(QString reportName);
QString getCurrentReportName();
void setCurrentReportNumber(int currentReportNum);
int getCurrentReportNumber();
private:
GenerateReportBase();
~GenerateReportBase() = default;
private:
static GenerateReportBase* m_instance;
GenerateReport::MainWindow* m_mainWindow{};
css::uno::Reference<css::frame::XDesktop2> m_XDesktop{};
css::uno::Reference<css::text::XTextDocument> m_xTextDocument;
int m_currentReportNum{ 0 };
QString m_reportName{};
};
}
#endif // GENERATEREPORT_GENERATEREPORTBASE_H