Componentes.Terceros.DevExp.../official/x.26/ExpressQuantumGrid 6/Demos/CBuilder/ColumnsMultiEditorsDemo/ColumnsMultiEditorsDemoMain.cpp
2007-09-09 11:27:27 +00:00

121 lines
4.3 KiB
C++

//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdlib.h>
#include "shellapi.hpp"
#pragma hdrstop
#include "ColumnsMultiEditorsDemoMain.h"
#include "AboutDemoForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "cxClasses"
#pragma link "cxControls"
#pragma link "cxCustomData"
#pragma link "cxData"
#pragma link "cxEdit"
#pragma link "cxEditRepositoryItems"
#pragma link "cxFilter"
#pragma link "cxGraphics"
#pragma link "cxGrid"
#pragma link "cxGridCustomTableView"
#pragma link "cxGridCustomView"
#pragma link "cxGridLevel"
#pragma link "cxGridTableView"
#pragma link "cxStyles"
#pragma link "cxLookAndFeels"
#pragma resource "*.dfm"
TColumnsMultiEditorsDemoMainForm *ColumnsMultiEditorsDemoMainForm;
//---------------------------------------------------------------------------
__fastcall TColumnsMultiEditorsDemoMainForm::TColumnsMultiEditorsDemoMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::FormCreate(
TObject *Sender)
{
tvSkills->BeginUpdate();
try {
clnSkill->DataBinding->ValueTypeClass = __classid(TcxStringValueType);
clnGrade->DataBinding->ValueTypeClass = __classid(TcxVariantValueType);
clnName->DataBinding->ValueTypeClass = __classid(TcxStringValueType);
}
__finally {
tvSkills->EndUpdate();
}
SkillDataSource = new TSkillDataSource(tvSkills,
ImageComboLanguages->Properties->Items->Count,
ImageComboCommunication->Properties->Items->Count);
tvSkills->DataController->CustomDataSource = SkillDataSource;
tvSkills->DataController->CustomDataSource->DataChanged();
tvSkills->DataController->Groups->FullExpand();
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::FormDestroy(
TObject *Sender)
{
tvSkills->DataController->CustomDataSource->Free();
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::clnGradeGetProperties(
TcxCustomGridTableItem *Sender, TcxCustomGridRecord *ARecord,
TcxCustomEditProperties *&AProperties)
{
switch (div(ARecord->RecordIndex, SkillCount).rem) {
case 0: {AProperties = SpinItemYears->Properties; break;}
case 1: {AProperties = ImageComboLanguages->Properties; break; }
case 2: {AProperties = ImageComboLanguages->Properties; break; }
case 3: {AProperties = ImageComboCommunication->Properties; break; }
case 4: {AProperties = DateItemStartWorkFrom->Properties; break; }
}
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::miAboutClick(
TObject *Sender)
{
ShowAboutDemoForm();
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::miExitClick(
TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::miEditButtonsAlwaysClick(
TObject *Sender)
{
if(tvSkills->OptionsView->ShowEditButtons != gsebAlways){
((TMenuItem*)Sender)->Checked = true;
tvSkills->OptionsView->ShowEditButtons = gsebAlways;
};
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::miEditButtonsFocusedRecordClick(
TObject *Sender)
{
if(tvSkills->OptionsView->ShowEditButtons != gsebForFocusedRecord) {
((TMenuItem*)Sender)->Checked = true;
tvSkills->OptionsView->ShowEditButtons = gsebForFocusedRecord;
};
}
//---------------------------------------------------------------------------
void __fastcall TColumnsMultiEditorsDemoMainForm::miEditButtonsNeverClick(
TObject *Sender)
{
if(tvSkills->OptionsView->ShowEditButtons != gsebNever) {
((TMenuItem*)Sender)->Checked = true;
tvSkills->OptionsView->ShowEditButtons = gsebNever;
};
}
//---------------------------------------------------------------------------