//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Dialogs.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE 管理のコンポーネント
    TButton *Button1;
    TButton *Button2;
    TButton *Button3;
    TButton *Button4;
    TButton *Button5;
    TButton *Button6;
    TComboBox *ComboBox1;
    TEdit *Edit1;
    TEdit *Edit2;
    TEdit *Edit3;
    TEdit *Edit4;
    TEdit *Edit5;
    TEdit *Edit6;
    TEdit *Edit7;
    TLabel *Label1;
    TLabel *Label2;
    TLabel *Label3;
    TLabel *Label4;
    TLabel *Label5;
    TLabel *Label6;
    TLabel *Label7;
    TLabel *Label8;
    TLabel *Label9;
    TLabel *Label10;
    TLabel *Label11;
    TLabel *Label12;
    TLabel *Label13;
    TPaintBox *PaintBox1;
    TPaintBox *PaintBox2;
    TPanel *Panel1;
    TRadioGroup *RadioGroup1;
    TRadioGroup *RadioGroup2;
    TRichEdit *RichEdit1;
    TSaveDialog *SaveDialog1;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button3Click(TObject *Sender);
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall Button5Click(TObject *Sender);
    void __fastcall Button6Click(TObject *Sender);
    void __fastcall ComboBox1Change(TObject *Sender);
    void __fastcall Edit7KeyPress(TObject *Sender, char &Key);
    void __fastcall PaintBox1Paint(TObject *Sender);
    void __fastcall PaintBox2Paint(TObject *Sender);
    void __fastcall RadioGroup1Click(TObject *Sender);
    void __fastcall RadioGroup2Click(TObject *Sender);
    void __fastcall PaintBox1MouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y);
    void __fastcall OnChangeParm(TObject *Sender);
    void __fastcall FormResize(TObject *Sender);
private:	// ユーザー宣言
    void __fastcall WMGetMinMaxInfo(TWMGetMinMaxInfo &Msg);
public:		// ユーザー宣言
    __fastcall TForm1(TComponent* Owner);
    void __fastcall EnableCtrlShape();
    void __fastcall EnableCtrlBand();
    void __fastcall XferFuncOut(TStrings *ML);
    void __fastcall CascadeOut(TStrings *ML, AnsiString s, double scl);
    void __fastcall DispSpec(TCanvas *Cv);
    void __fastcall DispFc(TCanvas *Cv, double fc, int Xfr, int X0d, int Y0d, int YdB);
    void __fastcall DispChr(TCanvas *Cv);
    bool __fastcall ParmInput(int &order,  double &eps, double &scale, double &phi);
    bool __fastcall dBdownInput();
    bool __fastcall EllipInp(double order, double fa, double eps, double arg,
                             double &cgam, double &Kk, double &k, double &u,
                             double &m, double &wc, double &wr, double &cbp);
    void __fastcall LabelEditTF(bool pass, bool reject);
    int  jBand;     // LPF: 0, HPF: 1, BPF: 2, BRF: 3
    int  Shape;     // Butterworth: 0, Chebyshev: 1, Inv. Cheb.: 2 ,Elliptic : 3
    bool calc_ok, scl1_ok, scl2_ok;
    int  X0d, Y0d, Xfr, YdB;
    int  width_of_RichEdit1, height_of_RichEdit1, width_of_Form1, height_of_Form1;

// メッセージマップ
    BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(WM_GETMINMAXINFO, TWMGetMinMaxInfo, WMGetMinMaxInfo)
    END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
