OSDN Git Service

Move the directories
[kita/kita.git] / src / viewmediator.h
1 /***************************************************************************
2  *   Copyright (C) 2007 by Kita Developers                                 *
3  *   ikemo@users.sourceforge.jp                                            *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) any later version.                                   *
9  ***************************************************************************/
10 #ifndef KITAVIEWMEDIATOR_H
11 #define KITAVIEWMEDIATOR_H
12
13 class QString;
14
15 class KUrl;
16
17 namespace Kita {
18     class BoardTabWidget;
19     class MainWindow;
20     class ThreadTabWidget;
21     class WriteTabWidget;
22     class FavoriteListView;
23
24     /**
25      * @author Hideki Ikemoto <ikemo@wakaba.jp>
26      */
27     class ViewMediator {
28         static ViewMediator* instance;
29         ThreadTabWidget* m_threadTabWidget;
30         BoardTabWidget* m_boardTabWidget;
31         WriteTabWidget* m_writeTabWidget;
32         MainWindow* m_mainWindow;
33         FavoriteListView* m_favoriteListView;
34
35         ViewMediator();
36         ~ViewMediator();
37
38     public:
39         static ViewMediator* getInstance();
40
41         void setThreadTabWidget(ThreadTabWidget* threadTabWidget)
42         { m_threadTabWidget = threadTabWidget; }
43         void setBoardTabWidget(BoardTabWidget* boardTabWidget)
44         { m_boardTabWidget = boardTabWidget; }
45         void setWriteTabWidget(WriteTabWidget* writeTabWidget)
46         { m_writeTabWidget = writeTabWidget; }
47         void setMainWindow(MainWindow* mainWindow)
48         { m_mainWindow = mainWindow; }
49         void setFavoriteListView(FavoriteListView* favoriteListView)
50         { m_favoriteListView = favoriteListView; }
51
52         void closeThreadTab(const KUrl& url);
53         void showWriteView(const KUrl& url, const QString& resStr);
54         void openBoard(const KUrl& url);
55         void openThread(const KUrl& url);
56         void setMainStatus(const QString& statusStr);
57         void setMainUrlLine(const KUrl& url);
58         void setMainCaption(const QString& str);
59         void bookmark(const QString& datUrl, bool on);
60         bool isActive();
61         void updateBoardView(const KUrl& datUrl);
62         void updateThreadView(const KUrl& datUrl);
63         void changeWriteTab(const KUrl& datUrl);
64         void updateFavoriteListView();
65         void openUrl(const KUrl& url);
66
67     private:
68         ViewMediator(const ViewMediator&);
69         ViewMediator& operator=(const ViewMediator&);
70     };
71 }
72
73 #endif