mirror of https://github.com/odrling/Aegisub
Removed FloatSpinCtrl since it was unused and can be replaced by wxSpinCtrlDouble now that we have switched to wx2.9
Originally committed to SVN as r3232.
This commit is contained in:
parent
581b515f22
commit
6d82665116
|
@ -655,14 +655,6 @@
|
|||
RelativePath="..\..\src\colour_button.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\float_spin.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\float_spin.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\help_button.cpp"
|
||||
>
|
||||
|
|
|
@ -1,186 +0,0 @@
|
|||
// Copyright (c) 2007, Rodrigo Braz Monteiro
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Aegisub Group nor the names of its contributors
|
||||
// may be used to endorse or promote products derived from this software
|
||||
// without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
//
|
||||
// AEGISUB
|
||||
//
|
||||
// Website: http://aegisub.cellosoft.com
|
||||
// Contact: mailto:zeratul@cellosoft.com
|
||||
//
|
||||
|
||||
|
||||
///////////
|
||||
// Headers
|
||||
#include "config.h"
|
||||
|
||||
#include <wx/wxprec.h>
|
||||
#include <wx/sizer.h>
|
||||
#include "float_spin.h"
|
||||
#include "utils.h"
|
||||
#include "validators.h"
|
||||
|
||||
|
||||
///////
|
||||
// IDs
|
||||
enum {
|
||||
SPIN_BUTTON = 1100,
|
||||
TEXT_EDIT
|
||||
};
|
||||
|
||||
|
||||
///////////////
|
||||
// Constructor
|
||||
FloatSpinCtrl::FloatSpinCtrl(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size,
|
||||
long style, double _min, double _max, double initial, double _step, const wxString& name)
|
||||
: wxPanel(parent,id,pos,size,style,name)
|
||||
{
|
||||
// Set data
|
||||
value = initial;
|
||||
|
||||
// Create sub-controls
|
||||
text = new FloatSpinText(this,TEXT_EDIT);
|
||||
button = new wxSpinButton(this,SPIN_BUTTON,wxDefaultPosition,wxSize(-1,20),wxSP_VERTICAL);
|
||||
SetRange(_min,_max,_step);
|
||||
|
||||
// Set sizer
|
||||
wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
sizer->Add(text,1,wxEXPAND,0);
|
||||
sizer->Add(button,0,wxEXPAND,0);
|
||||
SetSizer(sizer);
|
||||
//sizer->SetSizeHints(this);
|
||||
|
||||
// Update text
|
||||
UpdateText();
|
||||
}
|
||||
|
||||
|
||||
/////////////
|
||||
// Set value
|
||||
void FloatSpinCtrl::SetValue(double _value) {
|
||||
value = _value;
|
||||
button->SetValue(int(value/step));
|
||||
text->SetValue(PrettyFloatD(value));
|
||||
}
|
||||
|
||||
|
||||
/////////////
|
||||
// Set range
|
||||
void FloatSpinCtrl::SetRange(double _min,double _max,double _step) {
|
||||
min = _min;
|
||||
max = _max;
|
||||
step = _step;
|
||||
button->SetRange(int(min/step),int(max/step));
|
||||
}
|
||||
|
||||
|
||||
///////////////
|
||||
// Update text
|
||||
void FloatSpinCtrl::UpdateText() {
|
||||
text->SetValue(PrettyFloatD(value));
|
||||
}
|
||||
|
||||
|
||||
///////////////
|
||||
// Event table
|
||||
BEGIN_EVENT_TABLE(FloatSpinCtrl,wxPanel)
|
||||
EVT_SPIN(SPIN_BUTTON, FloatSpinCtrl::OnSpin)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
///////////
|
||||
// On spin
|
||||
void FloatSpinCtrl::OnSpin(wxSpinEvent &event) {
|
||||
value = double(event.GetPosition())*step;
|
||||
UpdateText();
|
||||
}
|
||||
|
||||
|
||||
////////////////////////// EDIT BOX ////////////////////////////
|
||||
|
||||
///////////////
|
||||
// Constructor
|
||||
FloatSpinText::FloatSpinText(FloatSpinCtrl *_parent,int id)
|
||||
: wxTextCtrl(_parent,id,_T(""),wxDefaultPosition,wxDefaultSize,0,NumValidator(NULL,true,true))
|
||||
{
|
||||
parent = _parent;
|
||||
}
|
||||
|
||||
|
||||
//////////////
|
||||
// Focus lost
|
||||
void FloatSpinText::OnKillFocus(wxFocusEvent &event) {
|
||||
SendValue();
|
||||
}
|
||||
|
||||
|
||||
///////////////
|
||||
// Key pressed
|
||||
void FloatSpinText::OnKeyPress(wxKeyEvent &event) {
|
||||
int code = event.GetKeyCode();
|
||||
if (code == WXK_UP || code == WXK_DOWN) {
|
||||
// Update first
|
||||
SendValue();
|
||||
|
||||
// Get delta
|
||||
int sign = -1;
|
||||
if (code == WXK_UP) sign = 1;
|
||||
|
||||
// Change value
|
||||
int value = parent->button->GetValue()+sign;
|
||||
parent->button->SetValue(value);
|
||||
parent->value = parent->button->GetValue()*parent->step;
|
||||
parent->UpdateText();
|
||||
|
||||
return;
|
||||
}
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
|
||||
//////////////
|
||||
// Send value
|
||||
void FloatSpinText::SendValue() {
|
||||
try {
|
||||
double value = 0.0;
|
||||
GetValue().ToDouble(&value);
|
||||
int pos = int(value/parent->step);
|
||||
parent->button->SetValue(pos);
|
||||
parent->UpdateText();
|
||||
}
|
||||
catch (...) {
|
||||
parent->UpdateText();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///////////////
|
||||
// Event table
|
||||
BEGIN_EVENT_TABLE(FloatSpinText,wxTextCtrl)
|
||||
EVT_KEY_DOWN(FloatSpinText::OnKeyPress)
|
||||
EVT_KILL_FOCUS(FloatSpinText::OnKillFocus)
|
||||
END_EVENT_TABLE()
|
|
@ -1,98 +0,0 @@
|
|||
// Copyright (c) 2007, Rodrigo Braz Monteiro
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
// * Neither the name of the Aegisub Group nor the names of its contributors
|
||||
// may be used to endorse or promote products derived from this software
|
||||
// without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
//
|
||||
// AEGISUB
|
||||
//
|
||||
// Website: http://aegisub.cellosoft.com
|
||||
// Contact: mailto:zeratul@cellosoft.com
|
||||
//
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
///////////
|
||||
// Headers
|
||||
#include <wx/wxprec.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/spinbutt.h>
|
||||
|
||||
|
||||
//////////////
|
||||
// Prototypes
|
||||
class FloatSpinCtrl;
|
||||
|
||||
|
||||
///////////////////
|
||||
// Float spin text
|
||||
class FloatSpinText : public wxTextCtrl {
|
||||
friend class FloatSpinCtrl;
|
||||
private:
|
||||
FloatSpinCtrl *parent;
|
||||
|
||||
FloatSpinText(FloatSpinCtrl *parent,int id);
|
||||
|
||||
void OnKillFocus(wxFocusEvent &event);
|
||||
void OnKeyPress(wxKeyEvent &event);
|
||||
void SendValue();
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
|
||||
//////////////////////
|
||||
// Float spin control
|
||||
class FloatSpinCtrl : public wxPanel {
|
||||
friend class FloatSpinText;
|
||||
private:
|
||||
wxTextCtrl *text;
|
||||
wxSpinButton *button;
|
||||
|
||||
double min;
|
||||
double max;
|
||||
double step;
|
||||
double value;
|
||||
|
||||
void UpdateText();
|
||||
|
||||
void OnSpin(wxSpinEvent &event);
|
||||
|
||||
public:
|
||||
FloatSpinCtrl(wxWindow* parent,wxWindowID id=-1,const wxPoint& pos=wxDefaultPosition,const wxSize& size = wxDefaultSize, long style = wxSP_ARROW_KEYS, double min = 0.0, double max = 100.0, double initial = 0.0, double step = 1.0, const wxString& name = _T("wxSpinCtrl"));
|
||||
|
||||
void SetValue(double value);
|
||||
void SetRange(double min,double max,double step);
|
||||
|
||||
double GetValue() { return value; }
|
||||
double GetMin() { return min; }
|
||||
double GetMax() { return max; }
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
|
@ -60,7 +60,6 @@
|
|||
#include "utils.h"
|
||||
#include "dialog_search_replace.h"
|
||||
#include "idle_field_event.h"
|
||||
#include "float_spin.h"
|
||||
#include "tooltip_manager.h"
|
||||
#include "osx_bevelButton.h"
|
||||
|
||||
|
@ -148,7 +147,6 @@ SubsEditBox::SubsEditBox (wxWindow *parent,SubtitlesGrid *gridp) : wxPanel(paren
|
|||
|
||||
// Top sizer
|
||||
TopSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
//TopSizer->Add(new FloatSpinCtrl(this,-1,wxDefaultPosition,wxSize(40,20),0,-20.0,50.0,0.0,0.5));
|
||||
TopSizer->Add(CommentBox,0,wxRIGHT | wxALIGN_CENTER,5);
|
||||
TopSizer->Add(StyleBox,2,wxRIGHT|wxALIGN_CENTER,5);
|
||||
TopSizer->Add(ActorBox,2,wxRIGHT|wxALIGN_CENTER,5);
|
||||
|
|
Loading…
Reference in New Issue