audacia/lib-src/mod-track-panel/TrackPanel2.cpp

134 lines
3.4 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
Registrar.cpp
James Crook
Audacity is free software.
This file is licensed under the wxWidgets license, see License.txt
********************************************************************//**
\class TrackPanel2
\brief TrackPanel2 is the start of the new TrackPanel.
*//********************************************************************/
#include <wx/wx.h>
#include "ShuttleGui.h"
#include "widgets/LinkingHtmlWindow.h"
#include "SkewedRuler.h"
#include "Registrar.h"
#include "TrackPanel2.h"
TrackPanel * TrackPanel2Factory(wxWindow * parent,
wxWindowID id,
const wxPoint & pos,
const wxSize & size,
TrackList * tracks,
ViewInfo * viewInfo,
TrackPanelListener * listener,
AdornedRulerPanel * ruler)
{
return new TrackPanel2(
parent,
id,
pos,
size,
tracks,
viewInfo,
listener,
ruler);
}
void ShowExtraDialog()
{
int k=42;
wxDialog Dlg(NULL, wxID_ANY, wxString(wxT("Experimental Extra Dialog")));
ShuttleGui S(&Dlg, eIsCreating);
S.StartNotebook();
{
S.StartNotebookPage( _("Panel 1") );
S.StartVerticalLay(1);
{
HtmlWindow *html = new LinkingHtmlWindow(S.GetParent(), -1,
wxDefaultPosition,
wxSize(600, 359),
wxHW_SCROLLBAR_AUTO | wxSUNKEN_BORDER);
html->SetFocus();
html->SetPage(wxT("<h1><font color=\"blue\">An Html Window</font></h1>Replace with whatever you like."));
S.Prop(1).AddWindow( html, wxEXPAND );
}
S.EndVerticalLay();
S.EndNotebookPage();
S.StartNotebookPage( _("Diagnostics") );
S.StartVerticalLay(1);
{
HtmlWindow *html = new LinkingHtmlWindow(S.GetParent(), -1,
wxDefaultPosition,
wxSize(600, 359),
wxHW_SCROLLBAR_AUTO | wxSUNKEN_BORDER);
html->SetFocus();
html->SetPage(wxT("<h1>Diagnostics</h1>This is an html diagnostics page"));
S.Prop(1).AddWindow( html, wxEXPAND );
}
S.EndVerticalLay();
S.EndNotebookPage();
}
S.EndNotebook();
wxButton *ok = new wxButton(S.GetParent(), wxID_OK, _("OK... Audacious!"));
ok->SetDefault();
S.Prop(0).AddWindow( ok );
Dlg.Fit();
Dlg.ShowModal();
}
int TrackPanel2Dispatch( Registrar & R, t_RegistrarDispatchType Type )
{
switch( Type )
{
case RegResource:
R.pShowFn = ShowExtraDialog;
break;
case RegArtist:
break;
case RegDataType:
break;
case RegCommand:
break;
case RegMenuItem:
break;
default:
break;
}
return 1;
}
TrackPanel2::TrackPanel2(
wxWindow * parent, wxWindowID id, const wxPoint & pos, const wxSize & size,
TrackList * tracks, ViewInfo * viewInfo, TrackPanelListener * listener,
AdornedRulerPanel * ruler) :
TrackPanel(
parent, id, pos, size,
tracks, viewInfo, listener, ruler)
{
}
// Here is a sample function that shows that TrackPanel2 is being invoked.
void TrackPanel2::OnPaint(wxPaintEvent & event)
{
// Hmm... Log debug will only show if you open the log window.
// wxLogDebug( wxT("Paint TrackPanel2 requested") );
TrackPanel::OnPaint( event );
}