~s-cecilio/lenmus/v5.3

« back to all changes in this revision

Viewing changes to src/app/lenmus_canvas.cpp

  • Committer: cecilios
  • Date: 2011-08-18 15:04:04 UTC
  • Revision ID: svn-v4:2587a929-2f0e-0410-ae78-fe6f687d5efe:branches/TRY-5.0:688
cleaning and commit recent work

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include <wx/wxprec.h>
24
24
#include <wx/panel.h>
25
25
#include <wx/menu.h>
 
26
#include <wx/msgdlg.h>
26
27
 
27
28
namespace lenmus
28
29
{
207
208
//#define lmID_NOTEBOOK wxID_HIGHEST + 100
208
209
//
209
210
//IMPLEMENT_DYNAMIC_CLASS(ContentWindow, wxAuiNotebook)
210
 
//
211
 
//BEGIN_EVENT_TABLE(ContentWindow, wxAuiNotebook)
212
 
//    EVT_AUINOTEBOOK_PAGE_CLOSE(wxID_ANY, ContentWindow::OnChildClose)
213
 
//    EVT_AUINOTEBOOK_PAGE_CHANGED(wxID_ANY, ContentWindow::OnPageChanged)
214
 
//END_EVENT_TABLE()
215
 
//
 
211
 
 
212
BEGIN_EVENT_TABLE(ContentWindow, wxAuiNotebook)
 
213
    //EVT_AUINOTEBOOK_PAGE_CLOSE(wxID_ANY, ContentWindow::OnChildClose)
 
214
    EVT_AUINOTEBOOK_PAGE_CHANGED(wxID_ANY, ContentWindow::on_page_changed)
 
215
END_EVENT_TABLE()
 
216
 
216
217
 
217
218
ContentWindow::ContentWindow(ContentFrame* parent, long style)
218
219
    : wxAuiNotebook(parent, -1 /*lmID_NOTEBOOK*/ , wxDefaultPosition,
241
242
        return NULL;
242
243
}
243
244
 
244
 
//int ContentWindow::SetSelection(size_t nPage)
245
 
//{
246
 
//    int oldSelection = wxAuiNotebook::SetSelection(nPage);
247
 
//    return oldSelection;
248
 
//}
249
 
 
250
 
//void ContentWindow::OnPageChanged(wxAuiNotebookEvent& event)
251
 
//{
252
 
//      int OldSelection = event.GetOldSelection();
253
 
//      int newSelection = event.GetSelection();
254
 
//    if (OldSelection == newSelection) return;         //nothing to do
255
 
//    if (newSelection != -1)
256
 
//    {
257
 
//        Canvas* child;
258
 
//        if (OldSelection != -1)
259
 
//        {
260
 
//            child = (Canvas*)GetPage(OldSelection);
261
 
//            child->OnChildFrameDeactivated();
262
 
//        }
263
 
//        child = (Canvas*)GetPage(newSelection);
264
 
//              child->OnChildFrameActivated();
265
 
//    }
266
 
//}
267
 
//
268
 
//void ContentWindow::OnChildClose(wxAuiNotebookEvent& evt)
269
 
//{
270
 
//    //Do not allow direct closing of Canvas by wxAuiNotebook as it deletes
271
 
//    //the child frames and this causes problems with the view/doc model.
272
 
//    //So lets veto page closing and proceed to a controlled close.
273
 
//    evt.Veto();
274
 
//
275
 
//    //proceed to a controlled close
276
 
//    int iPage = GetSelection();
277
 
//    GetPage(iPage)->Close();
278
 
//    RemovePage(iPage);
279
 
//
280
 
//}
281
 
 
 
245
//---------------------------------------------------------------------------------------
 
246
void ContentWindow::on_page_changed(wxAuiNotebookEvent& event)
 
247
{
 
248
    wxAuiNotebook::SetSelection( event.GetSelection() );
 
249
}
282
250
 
283
251
 
284
252
//=======================================================================================
285
253
// Canvas implementation
286
254
//=======================================================================================
287
 
 
288
 
//IMPLEMENT_DYNAMIC_CLASS(Canvas, wxPanel)
289
 
 
290
 
//BEGIN_EVENT_TABLE(Canvas, wxPanel)
291
 
//    EVT_SIZE(Canvas::OnSize)
292
 
//END_EVENT_TABLE()
293
 
 
294
 
//---------------------------------------------------------------------------------------
295
 
Canvas::Canvas(ContentFrame* parent,
296
 
               wxWindowID id, const wxString& title,
297
 
               const wxPoint& WXUNUSED(pos), const wxSize& size,
298
 
               long style, const wxString& name )
299
 
    : m_pContentFrame(parent)
 
255
Canvas::Canvas(ContentFrame* parent, wxWindowID id, const wxString& title, long style)
 
256
    : wxSplitterWindow(parent->get_content_window(), id, wxDefaultPosition,
 
257
                       wxDefaultSize, style, _T("Canvas"))
 
258
    , m_pContentFrame(parent)
300
259
{
301
 
    ContentWindow* pContentWindow = parent->get_content_window();
302
 
    wxPanel::Create(pContentWindow, id, wxDefaultPosition, size, style, name);
303
 
    set_content_frame(parent);
304
260
    m_Title = title;
305
261
    parent->add_canvas(this, title);
306
262
}
308
264
//---------------------------------------------------------------------------------------
309
265
Canvas::~Canvas()
310
266
{
311
 
//    //The Child frame has been deleted by the view.
312
 
//    //Inform the parent so that it can remove the tab form the Notebook
313
 
//    ContentFrame* pParentFrame = get_content_frame();
314
 
//    if (pParentFrame)
315
 
//        pParentFrame->remove_canvas(this);
316
 
//
317
 
}
318
 
 
319
 
 
320
 
//void Canvas::SetTitle(const wxString& title)
321
 
//{
322
 
//    m_Title = title;
323
 
//
324
 
//    ContentFrame* pParentFrame = get_content_frame();
325
 
//
326
 
//    if (pParentFrame != NULL)
327
 
//    {
328
 
//        ContentWindow*  pClientWindow = pParentFrame->get_content_window();
329
 
//
330
 
//        if (pClientWindow != NULL)
331
 
//        {
332
 
//            size_t pos;
333
 
//            for (pos = 0; pos < pClientWindow->GetPageCount(); pos++)
334
 
//            {
335
 
//                if (pClientWindow->GetPage(pos) == this)
336
 
//                {
337
 
//                    pClientWindow->SetPageText(pos, m_Title);
338
 
//                    break;
339
 
//                }
340
 
//            }
341
 
//        }
342
 
//    }
343
 
//}
344
 
//
345
 
//wxString Canvas::GetTitle() const
346
 
//{
347
 
//    return m_Title;
348
 
//}
349
 
//
350
 
//void Canvas::Activate()
351
 
//{
352
 
//    ContentFrame* pParentFrame = get_content_frame();
353
 
//
354
 
//    if (pParentFrame != NULL)
355
 
//    {
356
 
//        ContentWindow*  pClientWindow = pParentFrame->get_content_window();
357
 
//
358
 
//        if (pClientWindow != NULL)
359
 
//        {
360
 
//            size_t pos;
361
 
//            for (pos = 0; pos < pClientWindow->GetPageCount(); pos++)
362
 
//            {
363
 
//                if (pClientWindow->GetPage(pos) == this)
364
 
//                {
365
 
//                    pClientWindow->SetSelection(pos);
366
 
//                    break;
367
 
//                }
368
 
//            }
369
 
//        }
370
 
//    }
371
 
//}
372
 
//
 
267
}
 
268
 
 
269
//---------------------------------------------------------------------------------------
 
270
void Canvas::set_title(const wxString& title)
 
271
{
 
272
    m_Title = title;
 
273
 
 
274
    if (m_pContentFrame != NULL)
 
275
    {
 
276
        ContentWindow*  pClientWindow = m_pContentFrame->get_content_window();
 
277
        if (pClientWindow != NULL)
 
278
        {
 
279
            size_t pos;
 
280
            for (pos = 0; pos < pClientWindow->GetPageCount(); pos++)
 
281
            {
 
282
                if (pClientWindow->GetPage(pos) == this)
 
283
                {
 
284
                    pClientWindow->SetPageText(pos, m_Title);
 
285
                    break;
 
286
                }
 
287
            }
 
288
        }
 
289
    }
 
290
}
373
291
 
374
292
}   //namespace lenmus