~ubuntu-branches/ubuntu/hardy/codeblocks/hardy-backports

« back to all changes in this revision

Viewing changes to src/plugins/contrib/ThreadSearch/ThreadSearchViewManagerMessagesNotebook.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Michael Casadevall
  • Date: 2008-07-17 04:39:23 UTC
  • Revision ID: james.westby@ubuntu.com-20080717043923-gmsy5cwkdjswghkm
Tags: upstream-8.02
ImportĀ upstreamĀ versionĀ 8.02

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************
 
2
 * Name:      ThreadSearchViewManagerMessagesNotebook
 
3
 * Purpose:   Implements the ThreadSearchViewManagerBase
 
4
 *            interface to make the ThreadSearchView panel
 
5
 *            managed by the Messages notebook.
 
6
 * Author:    Jerome ANTOINE
 
7
 * Created:   2007-07-19
 
8
 * Copyright: Jerome ANTOINE
 
9
 * License:   GPL
 
10
 **************************************************************/
 
11
 
 
12
 
 
13
#include <sdk.h> // Code::Blocks SDK
 
14
#ifndef CB_PRECOMP
 
15
        #include "configmanager.h"
 
16
        #include "manager.h"
 
17
#endif
 
18
 
 
19
#include "ThreadSearchView.h"
 
20
#include "ThreadSearchViewManagerMessagesNotebook.h"
 
21
 
 
22
 
 
23
ThreadSearchViewManagerMessagesNotebook::~ThreadSearchViewManagerMessagesNotebook()
 
24
{
 
25
}
 
26
 
 
27
 
 
28
void ThreadSearchViewManagerMessagesNotebook::AddViewToManager()
 
29
{
 
30
        if ( m_IsManaged == false )
 
31
        {
 
32
                // Creates log image
 
33
                wxBitmap bmp;
 
34
                wxString prefix = ConfigManager::GetDataFolder() + _T("/images/16x16/");
 
35
                bmp = cbLoadBitmap(prefix + _T("filefind.png"), wxBITMAP_TYPE_PNG);
 
36
 
 
37
                // Adds log to C::B Messages notebook
 
38
                CodeBlocksLogEvent evtShow(cbEVT_ADD_LOG_WINDOW, m_pThreadSearchView, wxString(_T("Thread search")), &bmp);
 
39
                Manager::Get()->ProcessEvent(evtShow);
 
40
 
 
41
                CodeBlocksLogEvent evtSwitch(cbEVT_SWITCH_TO_LOG_WINDOW, m_pThreadSearchView);
 
42
                Manager::Get()->ProcessEvent(evtSwitch);
 
43
 
 
44
                // Status update
 
45
                m_IsManaged = true;
 
46
                m_IsShown   = true;
 
47
        }
 
48
}
 
49
 
 
50
void ThreadSearchViewManagerMessagesNotebook::RemoveViewFromManager()
 
51
{
 
52
        if ( m_IsManaged == true )
 
53
        {
 
54
                // Status update
 
55
                m_IsManaged = false;
 
56
                m_IsShown   = false;
 
57
 
 
58
                // Removes ThreadSearch panel from C::B Messages notebook
 
59
                // Reparent call to avoid m_pThreadSearchView deletion
 
60
                CodeBlocksLogEvent evt(cbEVT_REMOVE_LOG_WINDOW, m_pThreadSearchView);
 
61
                Manager::Get()->ProcessEvent(evt);
 
62
                m_pThreadSearchView->Reparent(Manager::Get()->GetAppWindow());
 
63
                m_pThreadSearchView->Show(false);
 
64
        }
 
65
}
 
66
 
 
67
 
 
68
bool ThreadSearchViewManagerMessagesNotebook::ShowView(bool show)
 
69
{
 
70
        if ( show == IsViewShown() )
 
71
                return false;
 
72
 
 
73
        // m_IsManaged is updated in called methods
 
74
        if ( show == true )
 
75
        {
 
76
                if ( m_IsManaged == true )
 
77
                {
 
78
                        CodeBlocksLogEvent evtShow(cbEVT_SHOW_LOG_MANAGER);
 
79
                        Manager::Get()->ProcessEvent(evtShow);
 
80
                        CodeBlocksLogEvent evtSwitch(cbEVT_SWITCH_TO_LOG_WINDOW, m_pThreadSearchView);
 
81
                        Manager::Get()->ProcessEvent(evtSwitch);
 
82
                        m_IsShown = true;
 
83
                }
 
84
                else
 
85
                {
 
86
                        AddViewToManager();
 
87
                }
 
88
        }
 
89
        else
 
90
        {
 
91
                RemoveViewFromManager();
 
92
        }
 
93
 
 
94
        return true;
 
95
}
 
96
 
 
97
 
 
98
bool ThreadSearchViewManagerMessagesNotebook::IsViewShown()
 
99
{
 
100
        return m_IsShown && IsWindowReallyShown((wxWindow*)m_pThreadSearchView);
 
101
}