Componentes.Terceros.DevExp.../official/x.26/ExpressQuantumTreeList 4/Demos/CBuilder/BandedFixedDemo/BandedFixedDemoMain.cpp
2007-09-09 11:27:27 +00:00

165 lines
6.0 KiB
C++

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "BandedFixedDemoMain.h"
#include "BandedFixedDemoData.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "cxClasses"
#pragma link "cxControls"
#pragma link "cxCustomData"
#pragma link "cxData"
#pragma link "cxDBData"
#pragma link "cxEdit"
#pragma link "cxFilter"
#pragma link "cxGraphics"
#pragma link "cxStyles"
#pragma link "cxLookAndFeels"
#pragma link "DemoBasicMain"
#pragma link "cxCalc"
#pragma link "cxDBLookupComboBox"
#pragma link "cxDBTL"
#pragma link "cxEditRepositoryItems"
#pragma link "cxInplaceContainer"
#pragma link "cxMaskEdit"
#pragma link "cxTL"
#pragma link "cxTLData"
#pragma resource "*.dfm"
TBandedFixedDemoMainForm *BandedFixedDemoMainForm;
//---------------------------------------------------------------------------
__fastcall TBandedFixedDemoMainForm::TBandedFixedDemoMainForm(TComponent* Owner)
: TDemoBasicMainForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm::FormShow(TObject *Sender)
{
if (cxDBTreeList->TopNode != NULL){
cxDBTreeList->TopNode->Focused = true;
cxDBTreeList->TopNode->MakeVisible();
}
/* remove/add the closing slash on this line to disable/enable the following code *
ShowMessage("WARNING: tutorial not completed. First, please apply the steps "
"shown in the doc file");
//*/
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm::LookAndFeelChange(TObject *Sender)
{
if (((TMenuItem*)Sender)->Tag > 3){
cxLookAndFeelController->NativeStyle =
!cxLookAndFeelController->NativeStyle;
((TMenuItem*)Sender)->Checked = cxLookAndFeelController->NativeStyle;
}
else{
((TMenuItem*)Sender)->Checked = true;
cxLookAndFeelController->Kind = (TcxLookAndFeelKind)((TMenuItem*)Sender)->Tag;
cxLookAndFeelController->NativeStyle = false;
miNativeStyle->Checked = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: actCustomizationFormExecute(TObject *Sender)
{
cxDBTreeList->Customizing->Visible = true;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miBandHorzSizingClick(TObject *Sender)
{
((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked;
cxDBTreeList->OptionsCustomizing->BandHorzSizing = ((TMenuItem*)Sender)->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miBandVertSizingClick(TObject *Sender)
{
((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked;
cxDBTreeList->OptionsCustomizing->BandVertSizing = ((TMenuItem*)Sender)->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miBandMovingClick(TObject *Sender)
{
((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked;
cxDBTreeList->OptionsCustomizing->BandMoving = ((TMenuItem*)Sender)->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: mnuNodeOptionsPopup(TObject *Sender)
{
FHitBand = cxDBTreeList->HitTest->HitBand;
if (FHitBand == NULL)
Abort();
else
miFixBand->Items[(int)FHitBand->FixedKind]->Checked = true;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miBandHideClick(TObject *Sender)
{
FHitBand->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm::cxDBTreeListStylesGetContentStyle(
TObject *Sender, TObject *AItem, TcxTreeListNode *ANode,
TcxStyle *&AStyle)
{
if (ANode->IsGroupNode)
AStyle = BandedFixedDemoDataDM->stlGroupNode;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: cxDBTreeListEmployeeGetDisplayText(
TcxTreeListColumn *Sender, TcxTreeListNode *ANode, String &Value)
{
if (ANode->IsGroupNode){
int AProjectID = ANode->Values[cxDBTreeListPROJECTID->ItemIndex];
Value = "Project: " + BandedFixedDemoDataDM->GetProjectNameByID(AProjectID)+
"; Manager: " + BandedFixedDemoDataDM->GetPersonNameByID(
((TcxTreeListDataNode*)ANode)->KeyValue) + " (" + IntToStr(ANode->Count) + " employees)" ;
}
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: cxDBTreeListEmployeeGetEditProperties(
TcxTreeListColumn *Sender, TcxTreeListNode *ANode,
TcxCustomEditProperties *&EditProperties)
{
if (ANode->IsGroupNode)
EditProperties = cxEditRepository1TextItem1->Properties;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miShowBandsClick(TObject *Sender)
{
((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked;
cxDBTreeList->OptionsView->Bands = ((TMenuItem*)Sender)->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miShowHeadersClick(TObject *Sender)
{
((TMenuItem*)Sender)->Checked = !((TMenuItem*)Sender)->Checked;
cxDBTreeList->OptionsView->Headers = ((TMenuItem*)Sender)->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TBandedFixedDemoMainForm:: miFixBandClick(TObject *Sender)
{
((TMenuItem*)Sender)->Checked = true;
FHitBand->FixedKind = TcxTreeListBandFixedKind(((TMenuItem*)Sender)->Tag);
}
//---------------------------------------------------------------------------