Kill the redundant VisualToolEvent nonsense and make the drag tool just use OnSubTool like the vector clip mode.

Originally committed to SVN as r4316.
This commit is contained in:
Thomas Goyne 2010-05-20 08:55:23 +00:00
parent 2ec4a97dbb
commit 34a7d21a42
4 changed files with 13 additions and 82 deletions

View file

@ -71,7 +71,6 @@ const wxColour VisualTool::colour[4] = {wxColour(106,32,19), wxColour(255,169,40
/// @param parent
VisualTool::VisualTool(VideoDisplay *parent, VideoState const& video)
: parent(parent)
, eventSink(this)
, holding(false)
, curDiag(NULL)
, dragging(false)
@ -692,21 +691,3 @@ void VisualTool::SetOverride(wxString tag,wxString value) {
VideoContext::Get()->grid->editBox->SetOverride(tag,value,0,false);
//parent->SetFocus();
}
/// @brief Connect button
/// @param button
void VisualTool::ConnectButton(wxButton *button) {
button->Connect(wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(VisualToolEvent::OnButton),NULL,&eventSink);
}
/// @brief Event sink
/// @param _tool
VisualToolEvent::VisualToolEvent(VisualTool *_tool) {
tool = _tool;
}
/// @brief DOCME
/// @param event
void VisualToolEvent::OnButton(wxCommandEvent &event) {
tool->OnButton(event);
}

View file

@ -69,37 +69,12 @@ struct VideoState;
/// DOCME
/// @class VisualToolEvent
/// @brief DOCME
///
/// DOCME
class VisualToolEvent : public wxEvtHandler {
private:
/// DOCME
VisualTool *tool;
public:
void OnButton(wxCommandEvent &event);
VisualToolEvent(VisualTool *tool);
};
/// DOCME
/// @class VisualTool
/// @brief DOCME
///
/// DOCME
class VisualTool : public OpenGLWrapper {
friend class VisualToolEvent;
private:
/// DOCME
VisualToolEvent eventSink;
int GetHighlightedFeature();
protected:
/// DOCME
@ -173,15 +148,6 @@ protected:
void DrawAllFeatures();
void Commit(bool full=false);
void ConnectButton(wxButton *button);
/// @brief DOCME
/// @param event
/// @return
///
virtual void OnButton(wxCommandEvent &event) {}
/// @brief DOCME
/// @return
///

View file

@ -34,9 +34,6 @@
/// @ingroup visual_ts
///
///////////
// Headers
#include "config.h"
#include "ass_dialogue.h"
@ -50,12 +47,7 @@
#include "video_display.h"
#include "visual_tool_drag.h"
///////
// IDs
enum {
/// DOCME
BUTTON_TOGGLE_MOVE = VISUAL_SUB_TOOL_START
};
@ -67,11 +59,10 @@ enum {
///
VisualToolDrag::VisualToolDrag(VideoDisplay *parent, VideoState const& video, wxToolBar * toolBar)
: VisualTool(parent, video)
, toolBar(toolBar)
, toggleMoveOnMove(true)
{
toggleMove = new wxBitmapButton(toolBar,BUTTON_TOGGLE_MOVE,GETIMAGE(visual_move_conv_move_24),wxDefaultPosition);
ConnectButton(toggleMove);
toolBar->AddControl(toggleMove);
toggleMoveOnMove = true;
toolBar->AddTool(BUTTON_TOGGLE_MOVE, _("Toggle between \\move and \\pos"), GETIMAGE(visual_move_conv_move_24));
toolBar->Realize();
toolBar->Show(true);
}
@ -96,8 +87,12 @@ void VisualToolDrag::UpdateToggleButtons() {
if (toMove == toggleMoveOnMove) return;
// Change bitmap
if (toMove) toggleMove->SetBitmapLabel(GETIMAGE(visual_move_conv_move_24));
else toggleMove->SetBitmapLabel(GETIMAGE(visual_move_conv_pos_24));
if (toMove) {
toolBar->SetToolNormalBitmap(BUTTON_TOGGLE_MOVE, GETIMAGE(visual_move_conv_move_24));
}
else {
toolBar->SetToolNormalBitmap(BUTTON_TOGGLE_MOVE, GETIMAGE(visual_move_conv_pos_24));
}
toggleMoveOnMove = toMove;
}
@ -106,8 +101,7 @@ void VisualToolDrag::UpdateToggleButtons() {
/// @brief Toggle button pressed
/// @param event
/// @return
///
void VisualToolDrag::OnButton(wxCommandEvent &event) {
void VisualToolDrag::OnSubTool(wxCommandEvent &event) {
// Get line
AssDialogue *line = GetActiveDialogueLine();
if (!line) return;
@ -125,10 +119,7 @@ void VisualToolDrag::OnButton(wxCommandEvent &event) {
// Replace tag
if (hasMove) SetOverride(L"\\pos",wxString::Format(L"(%i,%i)",x1,y1));
else SetOverride(L"\\move",wxString::Format(L"(%i,%i,%i,%i,%i,%i)",x1,y1,x1,y1,0,line->End.GetMS() - line->Start.GetMS()));
SubtitlesGrid *grid = VideoContext::Get()->grid;
grid->editBox->CommitText();
grid->ass->FlagAsModified(_("visual typesetting"));
grid->CommitChanges(false,true);
Commit(true);
// Update display
Refresh();

View file

@ -34,11 +34,6 @@
/// @ingroup visual_ts
///
///////////
// Headers
#ifndef AGI_PRE
#include <wx/bmpbuttn.h>
#include <wx/toolbar.h>
@ -54,14 +49,12 @@
/// DOCME
class VisualToolDrag : public VisualTool {
private:
/// DOCME
wxBitmapButton *toggleMove;
wxToolBar *toolBar;
/// DOCME
bool toggleMoveOnMove;
/// @brief DOCME
///
bool CanDrag() { return true; }
@ -69,7 +62,6 @@ private:
void UpdateDrag(VisualDraggableFeature &feature);
void CommitDrag(VisualDraggableFeature &feature);
void OnButton(wxCommandEvent &event);
void UpdateToggleButtons();
void DoRefresh();
@ -77,4 +69,5 @@ public:
VisualToolDrag(VideoDisplay *parent, VideoState const& video, wxToolBar *toolbar);
void Draw();
void OnSubTool(wxCommandEvent &event);
};