コード例 #1
0
BOOL LLPreviewGesture::postBuild()
{
	LLLineEditor* edit;
	LLComboBox* combo;
	LLButton* btn;
	LLScrollListCtrl* list;
	LLTextBox* text;
	LLCheckBoxCtrl* check;

	edit = getChild<LLLineEditor>("trigger_editor");
	edit->setKeystrokeCallback(onKeystrokeCommit);
	edit->setCallbackUserData(this);
	edit->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitSetDirty,this));
	edit->setCommitOnFocusLost(TRUE);
	edit->setIgnoreTab(TRUE);
	mTriggerEditor = edit;

	text = getChild<LLTextBox>("replace_text");
	text->setEnabled(FALSE);
	mReplaceText = text;

	edit = getChild<LLLineEditor>("replace_editor");
	edit->setEnabled(FALSE);
	edit->setKeystrokeCallback(onKeystrokeCommit);
	edit->setCallbackUserData(this);
	edit->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitSetDirty,this));
	edit->setCommitOnFocusLost(TRUE);

	edit->setIgnoreTab(TRUE);
	mReplaceEditor = edit;

	combo = getChild<LLComboBox>( "modifier_combo");
	combo->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitSetDirty,this));
	mModifierCombo = combo;

	combo = getChild<LLComboBox>( "key_combo");
	combo->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitSetDirty,this));
	mKeyCombo = combo;

	list = getChild<LLScrollListCtrl>("library_list");
	list->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitLibrary,this));
	list->setDoubleClickCallback(boost::bind(&LLPreviewGesture::onClickAdd,this));
	mLibraryList = list;

	btn = getChild<LLButton>( "add_btn");
	btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickAdd,this));
	btn->setEnabled(FALSE);
	mAddBtn = btn;

	btn = getChild<LLButton>( "up_btn");
	btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickUp,this));
	btn->setEnabled(FALSE);
	mUpBtn = btn;

	btn = getChild<LLButton>( "down_btn");
	btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickDown,this));
	btn->setEnabled(FALSE);
	mDownBtn = btn;

	btn = getChild<LLButton>( "delete_btn");
	btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickDelete,this));
	btn->setEnabled(FALSE);
	mDeleteBtn = btn;

	list = getChild<LLScrollListCtrl>("step_list");
	list->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitStep,this));
	mStepList = list;

	// Options
	text = getChild<LLTextBox>("options_text");
	text->setBorderVisible(TRUE);
	mOptionsText = text;

	combo = getChild<LLComboBox>( "animation_list");
	combo->setVisible(FALSE);
	combo->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitAnimation,this));
	mAnimationCombo = combo;

	LLRadioGroup* group;
	group = getChild<LLRadioGroup>("animation_trigger_type");
	group->setVisible(FALSE);
	group->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitAnimationTrigger,this));
	mAnimationRadio = group;

	combo = getChild<LLComboBox>( "sound_list");
	combo->setVisible(FALSE);
	combo->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitSound,this));
	mSoundCombo = combo;

	edit = getChild<LLLineEditor>("chat_editor");
	edit->setVisible(FALSE);
	edit->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitChat,this));
	//edit->setKeystrokeCallback(onKeystrokeCommit);
	//edit->setCallbackUserData(this);
	edit->setCommitOnFocusLost(TRUE);
	
	edit->setIgnoreTab(TRUE);
	mChatEditor = edit;

	check = getChild<LLCheckBoxCtrl>( "wait_anim_check");
	check->setVisible(FALSE);
	check->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitWait,this));
	mWaitAnimCheck = check;

	check = getChild<LLCheckBoxCtrl>( "wait_time_check");
	check->setVisible(FALSE);
	check->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitWait,this));
	mWaitTimeCheck = check;

	edit = getChild<LLLineEditor>("wait_time_editor");
	edit->setEnabled(FALSE);
	edit->setVisible(FALSE);
	edit->setPrevalidate(LLLineEditor::prevalidateFloat);
//	edit->setKeystrokeCallback(onKeystrokeCommit);
	//edit->setCallbackUserData(this);
	edit->setCommitOnFocusLost(TRUE);
	edit->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitWaitTime,this));
	
	edit->setIgnoreTab(TRUE);
	mWaitTimeEditor = edit;

	// Buttons at the bottom
	check = getChild<LLCheckBoxCtrl>( "active_check");
	check->setCommitCallback(boost::bind(&LLPreviewGesture::onCommitActive,this));
	mActiveCheck = check;

	btn = getChild<LLButton>( "save_btn");
	btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickSave,this));
	mSaveBtn = btn;

	btn = getChild<LLButton>( "preview_btn");
	btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickPreview,this));
	mPreviewBtn = btn;


	// Populate the comboboxes
	addModifiers();
	addKeys();
	addAnimations();
	addSounds();


	const LLInventoryItem* item = getItem();

	if (item) 
	{
		childSetCommitCallback("desc", LLPreview::onText, this);
		childSetText("desc", item->getDescription());
		childSetPrevalidate("desc", &LLLineEditor::prevalidatePrintableNotPipe);
	}

	return TRUE;
}