//--------------------------------------------------------------------------- #include #include "ctype.h" #pragma hdrstop #include "Tool.h" #include "Main.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "RXSpin" #pragma resource "*.dfm" TToolForm *ToolForm; //--------------------------------------------------------------------------- __fastcall TToolForm::TToolForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TToolForm::FormCreate(TObject *Sender) { Width = 200; Height = 335; Left = MainForm->Left + MainForm->Width - Width - 50; Top = MainForm->Top + 50; lbFont->Caption = MainForm->DefaultFont->Name; //qe colShape->Brush->Color = MainForm->Color; pSelect->BringToFront(); pSelect->Visible = true; } //--------------------------------------------------------------------------- void __fastcall TToolForm::sbFontClick(TObject *Sender) { TPDocElement *sep; if (FontDialog->Execute()) { MainForm->MFont->Assign(FontDialog->Font); MainForm->MFont->Color = FontDialog->Font->Color; lbFont->Caption = FontDialog->Font->Name; MainForm->bNewFont = true; if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocText *)sep)->SetFont(MainForm->MFont, FontDialog->Font->Color); MainForm->DesignDoc->Repaint(); } } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgLTypeClick(TObject *Sender) { TPDocElement *sep; switch (rgLType->ItemIndex) { case 0: MainForm->ltype = dltHorizental; break; case 1: MainForm->ltype = dltVertical; break; case 2: MainForm->ltype = dltOblique; break; } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocLine *)sep)->Type = MainForm->ltype; MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgLStyleClick(TObject *Sender) { TPDocElement *sep; TRadioGroup *rg = (TRadioGroup *)Sender; switch (rg->ItemIndex) { case 0: MainForm->lstyle = dlsNone; break; case 1: MainForm->lstyle = dlsOne; break; case 2: MainForm->lstyle = dlsTwo; break; case 3: MainForm->lstyle = dlsHeavy; break; } rgLStyle->ItemIndex = rg->ItemIndex; rgSLStyle->ItemIndex = rg->ItemIndex; if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); if (sep->Type == detLine) { ((TPDocLine *)sep)->Style = MainForm->lstyle; } else if (sep->Type == detBox) { ((TPDocBox *)sep)->Style = MainForm->lstyle; } MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rxMarginChange(TObject *Sender) { TPDocElement *sep; if (rxMargin->Text.Length() > 0) { MainForm->margin = rxMargin->Value; } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocColorChip *)sep)->Margin = MainForm->margin; MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgAlignmentClick(TObject *Sender) { TPDocElement *sep; TRadioGroup *rg = (TRadioGroup *)Sender; MainForm->align = rg->ItemIndex; if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocText *)sep)->Align = MainForm->align; MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgInputStyleClick(TObject *Sender) { TPDocElement *sep; if (rgInputStyle->ItemIndex) { //Vertical MainForm->inpstyle = disVertical; } else { //Horizontal MainForm->inpstyle = disHorizental; } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocInput *)sep)->ipStyle = MainForm->inpstyle; MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rxChartChange(TObject *Sender) { bool rvalue = false; TPDocElement *sep; TRxSpinEdit *rp = (TRxSpinEdit *)Sender; if (rp->Text.Length() > 0) { if (rp->Tag) { MainForm->col = rp->Value; } else { MainForm->row = rp->Value; } } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); rvalue = ((TPDocChart *)sep)->SetCellSize(MainForm->col, MainForm->row, MainForm->CType); if (!rvalue) ShowMessage("Fail to resize chart!"); MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rxPointChange(TObject *Sender) { TPDocElement *sep; if (rxPoint->Text.Length() > 0) { MainForm->numpos = rxPoint->Value; } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); if (sep->Type == detNumber) { ((TPDocNumber *)sep)->Precision = MainForm->numpos; } else if (sep->Type == detFormula) { ((TPDocFormula *)sep)->Precision = MainForm->numpos; } MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgHideClick(TObject *Sender) { TPDocElement *sep; if (rgHide->ItemIndex) MainForm->bhide = true; else MainForm->bhide = false; if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); if (sep->Type == detNumber) { ((TPDocNumber *)sep)->Hide = MainForm->bhide; } else if (sep->Type == detFormula) { ((TPDocFormula *)sep)->Hide = MainForm->bhide; } MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::TitleEditChange(TObject *Sender) { TPDocElement *sep; if (TitleEdit->Text.Length() > 0) { if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); if (sep->Type == detMemo) { ((TPDocMemo *)sep)->Title = TitleEdit->Text; } else if (sep->Type == detImage) { ((TPDocImage *)sep)->ImgTitle = TitleEdit->Text; } } MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::FFormulaEditChange(TObject *Sender) { TPDocElement *sep; // if (FFormulaEdit->Text.Length() > 0) { if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocFormula *)sep)->Formula = FFormulaEdit->Text; MainForm->DesignDoc->Repaint(); } // } } //--------------------------------------------------------------------------- void __fastcall TToolForm::EditClick(TObject *Sender) { TEdit *Edit = (TEdit *)Sender; Edit->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgInputMethodClick(TObject *Sender) { TPDocElement *sep; switch (rgInputMethod->ItemIndex) { case 0: MainForm->inpmethod = dimFix; break; case 1: MainForm->inpmethod = dimEdit; break; case 2: MainForm->inpmethod = dimAuto; break; } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocInput *)sep)->Method = MainForm->inpmethod; MainForm->DesignDoc->Repaint(); } } //--------------------------------------------------------------------------- void __fastcall TToolForm::colShapeMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TPDocElement *sep; if (ColorDialog->Execute()) { MainForm->Color = ColorDialog->Color; colShape->Brush->Color = ColorDialog->Color; if (MainForm->item != detNone) { MainForm->fColor = ToolForm->ColorDialog->Color; } else if (MainForm->item == detNone && MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); sep->FrameColor = ToolForm->ColorDialog->Color; MainForm->DesignDoc->Repaint(); } if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); if (sep->Type == detLine) { ((TPDocLine *)sep)->Color = MainForm->Color; } else if (sep->Type == detBox) { ((TPDocBox *)sep)->Color = MainForm->Color; } else if (sep->Type == detInput) { ((TPDocInput *)sep)->Color = MainForm->Color; } else if (sep->Type == detChart) { ((TPDocChart *)sep)->Color = MainForm->Color; } } } } //--------------------------------------------------------------------------- void __fastcall TToolForm::NameEditKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { TPDocElement *sep = NULL; // TPDocElementType ET = detNone; AnsiString str = ""; TEdit *Name = (TEdit *)Sender; if (Key == VK_RETURN) { str = Name->Text; if (str.Length() > 0) { if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); } if (MainForm->DesignDoc->Sheet->CheckName(str, sep)) { if (sep) { // if selected element is, change name of element switch (sep->Type) { case detColorChip: ((TPDocColorChip *)sep)->Name = str; break; case detDate: ((TPDocDate *)sep)->Name = str; break; case detEdit: ((TPDocEdit *)sep)->Name = str; break; case detNumber: ((TPDocNumber *)sep)->Name = str; break; case detFormula: ((TPDocFormula *)sep)->Name = str;break; } } else { // if add element, set name of element MainForm->bname = true; } } else { ShowMessage("Same name exist! Change name."); Name->Clear(); } } else { if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); if (sep) { switch (sep->Type) { case detColorChip: ((TPDocColorChip *)sep)->Name = str; break; case detDate: ((TPDocDate *)sep)->Name = str; break; case detEdit: ((TPDocEdit *)sep)->Name = str; break; case detNumber: ((TPDocNumber *)sep)->Name = str; break; case detFormula: ((TPDocFormula *)sep)->Name = str;break; } } } } } } //--------------------------------------------------------------------------- void __fastcall TToolForm::cbSetFormulaClick(TObject *Sender) { TPDocElement *sep; MainForm->beditformula = cbSetFormula->Checked; if (MainForm->bSelect) { sep = MainForm->DesignDoc->GetSelectElement(MainForm->bsub); ((TPDocChart *)sep)->EditFormula = MainForm->beditformula; } } //--------------------------------------------------------------------------- void __fastcall TToolForm::rgItemClick(TObject *Sender) { switch (rgItem->ItemIndex) { // ¼öÁ¤ ¹× º¸¿ÏÀÌ ÇÊ¿äÇÏ´Ù. case 0: MainForm->CType = detNumber; break; // Â÷Æ®¸¦ ¼±ÅÃÇßÀ» °æ¿ì¿¡ ¾î¶² °ÍÀ» ¼±ÅÃÇØ ³ö¾ß ÇÒÁö... case 1: MainForm->CType = detFormula; break; case 2: MainForm->CType = detEdit; break; case 3: MainForm->CType = detColorChip; break; } } //---------------------------------------------------------------------------