void CMatchingDlg::OnButtonClicked(GtkWidget *pBtn)
{
	if (!m_Updating) {
		m_Updating = true;
		if (pBtn==m_FrameBtn) {
			if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_FrameBtn))) {
				SetSelectMode(REFERENCE_FRAME);
				UpdatePreview(true);
				UpdateControls();
			}
		} else if (pBtn==m_CatalogBtn) {
			if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_CatalogBtn))) {
				SetSelectMode(CATALOG_FILE);
				UpdatePreview(true);
				UpdateControls();
			}
		} else if (pBtn==GTK_WIDGET(m_ShowChart)) {
			if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowChart))) {
				SetDisplayMode(DISPLAY_CHART);
				UpdatePreview(true);
				UpdateControls();
			}
		} else if (pBtn==GTK_WIDGET(m_ShowImage)) {
			if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowImage))) {
				SetDisplayMode(DISPLAY_IMAGE);
				UpdatePreview(true);
				UpdateControls();
			}
		} else if (pBtn==m_PathBtn) 
			ChangeCatalogPath();
		else if (pBtn==m_OptionsBtn)
			EditPreferences();
		m_Updating = false;
	}
}
bool CMatchingDlg::SelectFile(char **fpath)
{
	g_free(m_CatFile);
	m_CatFile = NULL;
	g_free(m_SelectionName);
	m_SelectionName = NULL;

	// Set path to catalog files
	gchar *dirpath = g_path_get_dirname(*fpath);
	if (dirpath && *dirpath!='\0' && strcmp(dirpath, ".")!=0 && g_file_test(dirpath, G_FILE_TEST_IS_DIR)) {
		gtk_entry_set_text(GTK_ENTRY(m_PathEntry), dirpath);
	} else {
		gchar *extpath = CConfig::GetStr("MakeCatDlg", "Folder", NULL);
		if (extpath && *extpath!='\0' && g_file_test(extpath, G_FILE_TEST_IS_DIR)) 
			gtk_entry_set_text(GTK_ENTRY(m_PathEntry), extpath);
		else {
			gchar *defpath = g_build_filename(get_user_data_dir(), "Catalog files", NULL);
			if (force_directory(defpath))
				gtk_entry_set_text(GTK_ENTRY(m_PathEntry), defpath);
			g_free(defpath);
		}
		g_free(extpath);
	}
	g_free(dirpath);

	gtk_widget_hide(m_UseFrame);
	SetSelectMode(CATALOG_FILE);
	gchar *basename = g_path_get_basename(*fpath);
	ReadCatalogs(basename);
	g_free(basename);
	UpdatePreview(true);
	UpdateControls();

	if (gtk_dialog_run(GTK_DIALOG(m_pDlg))==GTK_RESPONSE_ACCEPT) {
		g_Project->SetStr("MatchingDlg", "File", m_CatFile);
		CConfig::SetStr("MatchingDlg", "File", m_CatFile);
		g_free(*fpath);
		*fpath = g_strdup(m_CatFile);
		g_free(m_CatFile);
		m_CatFile = NULL;
		g_free(m_SelectionName);
		m_SelectionName = NULL;
		return true;
	}
	return false;
}
bool CMatchingDlg::SelectFrame(int *frame_id)
{
	m_FrameID = 0;

	gtk_widget_hide(m_UseFrame);
	ReadFrames(true, *frame_id);
	SetSelectMode(REFERENCE_FRAME);
	SetSortMode(m_FrameSort);
	UpdatePreview(true);
	UpdateControls();

	if (gtk_dialog_run(GTK_DIALOG(m_pDlg))==GTK_RESPONSE_ACCEPT) {
		g_Project->SetInt("MatchingDlg", "Frame", m_FrameID);
		*frame_id = m_FrameID;
		return true;
	}
	return false;
}
示例#4
0
文件: mainfrm.cpp 项目: paud/d2x-xl
void CMainFrame::OnSelectBlockMode ()
{
SetSelectMode (eSelectBlock);
}
示例#5
0
文件: mainfrm.cpp 项目: paud/d2x-xl
void CMainFrame::OnSelectObjectMode ()
{
SetSelectMode (eSelectObject);
}
示例#6
0
文件: mainfrm.cpp 项目: paud/d2x-xl
void CMainFrame::OnSelectCubeMode ()
{
SetSelectMode (eSelectCube);
}
示例#7
0
文件: mainfrm.cpp 项目: paud/d2x-xl
void CMainFrame::OnSelectSideMode ()
{
SetSelectMode (eSelectSide);
}
示例#8
0
文件: mainfrm.cpp 项目: paud/d2x-xl
void CMainFrame::OnSelectLineMode ()
{
SetSelectMode (eSelectLine);
}
示例#9
0
文件: mainfrm.cpp 项目: paud/d2x-xl
void CMainFrame::OnSelectPointMode ()
{
SetSelectMode (eSelectPoint);
}
示例#10
0
void CMatchingDlg::Execute(void)
{
	int res;
	char msg[256];

	m_FrameID = 0;
	g_free(m_CatFile);
	m_CatFile = NULL;
	g_free(m_SelectionName);
	m_SelectionName = NULL;
	m_FileList = NULL;

	// Restore path to catalog files
	gchar *fpath = CConfig::GetStr("MakeCatDlg", "Folder", NULL);
	if (fpath && *fpath!='\0' && g_file_test(fpath, G_FILE_TEST_IS_DIR)) 
		gtk_entry_set_text(GTK_ENTRY(m_PathEntry), fpath);
	else {
		gchar *defpath = g_build_filename(get_user_data_dir(), "Catalog files", NULL);
		if (force_directory(defpath))
			gtk_entry_set_text(GTK_ENTRY(m_PathEntry), defpath);
		g_free(defpath);
	}
	g_free(fpath);

	// Update list of frames
	ReadFrames(false, g_Project->GetInt("MatchingDlg", "Frame", 0));

	// Update list of catalog files
	gchar *path = g_Project->GetStr("MatchingDlg", "File", NULL);
	if (!path)
		path = CConfig::GetStr("MatchingDlg", "File", NULL);
	ReadCatalogs(path);
	g_free(path);

	gtk_widget_show(m_UseFrame);

	// Check inputs
	if (gtk_tree_model_iter_n_children(GTK_TREE_MODEL(m_Frames), NULL)==0) {
		ShowError(m_pParent, "There are no frames usable as a reference frame.");
		return;
	}

	// Select reference frame or the first frame
	SetSelectMode(m_SelectMode);
	SetSortMode(m_FrameSort);
	UpdatePreview(true);
	UpdateControls();

	if (gtk_dialog_run(GTK_DIALOG(m_pDlg))!=GTK_RESPONSE_ACCEPT)
		return;
	gtk_widget_hide(m_pDlg);

	g_Project->SetInt("MatchingDlg", "Select", m_SelectMode);
	if (m_SelectMode == REFERENCE_FRAME)
		g_Project->SetInt("MatchingDlg", "Frame", m_FrameID);
	else {
		g_Project->SetStr("MatchingDlg", "File", m_CatFile);
		CConfig::SetStr("MatchingDlg", "File", m_CatFile);
	}
	g_Project->ClearReference();
	
	// Always all files
	gtk_tree_model_foreach(g_Project->FileList(), GtkTreeModelForeachFunc(make_list), &m_FileList);

	CProgressDlg pDlg(m_pParent, "Matching photometry files");
	pDlg.SetMinMax(0, g_list_length(m_FileList));
	res = pDlg.Execute(ExecuteProc, this);
	if (res!=0) {
		char *msg = cmpack_formaterror(res);
		ShowError(m_pParent, msg, true);
		cmpack_free(msg);
	} else if (m_OutFiles==0) {
		ShowError(m_pParent, "No file was successfully processed.", true);
	} else if (m_OutFiles!=m_InFiles) {
		sprintf(msg, "%d file(s) were successfully processed, %d file(s) failed.", 
			m_OutFiles, m_InFiles-m_OutFiles);
		ShowWarning(m_pParent, msg, true);
	} else {
		sprintf(msg, "All %d file(s) were successfully processed.", m_OutFiles);
		ShowInformation(m_pParent, msg, true);
	}

	// Free allocated memory
	g_list_foreach(m_FileList, (GFunc)gtk_tree_row_reference_free, NULL);
	g_list_free(m_FileList);
	m_FileList = NULL;
	g_free(m_CatFile);
	m_CatFile = NULL;
	g_free(m_SelectionName);
	m_SelectionName = NULL;
}
示例#11
0
void EditPolyMod::OnParamSet(PB2Value& v, ParamID id, int tabIndex, TimeValue t) {
	switch( id ) {
	case epm_constrain_type:
		SetConstraintType(v.i);
		break;
	case epm_select_mode:
		SetSelectMode(v.i);
		break;
	case epm_ss_use:
		//When the soft selection is turned off, end any active paint session
		if( (!v.i) && InPaintMode() ) EndPaintMode();
		break;
	case epm_ss_lock:	{
			BOOL selActive = IsPaintDataActive(PAINTMODE_SEL);
			if( v.i && !selActive ) //Enable the selection lock; Activate the paintmesh selection
				ActivatePaintData(PAINTMODE_SEL);
			else if( (!v.i) && selActive ) { //Disable the selection lock; De-activate the paintmesh selection
				if( InPaintMode() ) EndPaintMode (); //end any active paint mode
				DeactivatePaintData(PAINTMODE_SEL);
			}
			//NOTE: SetEnables() is called by OnPaintDataActive() when activating or deactivating
			InvalidateDistanceCache ();
			if (mpDialogSoftsel) mpDialogSoftsel->RedrawViews (t);
			break;
		}
	case epm_paintsel_size:
	case epm_paintdeform_size:
		SetPaintBrushSize(v.f);
		UpdatePaintBrush();
		break;
	case epm_paintsel_strength:
	case epm_paintdeform_strength:
		SetPaintBrushStrength(v.f);
		UpdatePaintBrush();
		break;
	case epm_paintsel_value:
	case epm_paintdeform_value:
	case epm_paintdeform_axis:
		UpdatePaintBrush(); break;
	case epm_paintsel_mode:
		if( v.i!=GetPaintMode() ) {
			BOOL valid = FALSE;
			HWND hwnd = (mpDialogSoftsel==NULL?  NULL : mpDialogSoftsel->GetHWnd());
			if( v.i==PAINTMODE_PAINTSEL )	valid = IsButtonEnabled( hwnd, IDC_PAINTSEL_PAINT );
			if( v.i==PAINTMODE_BLURSEL )	valid = IsButtonEnabled( hwnd, IDC_PAINTSEL_BLUR );
			if( v.i==PAINTMODE_ERASESEL )	valid = IsButtonEnabled( hwnd, IDC_PAINTSEL_REVERT );
			if( v.i==PAINTMODE_OFF )		valid = TRUE;
			if( valid ) OnPaintBtn(v.i, t);
		}
		break;
	case epm_paintdeform_mode:
		if( v.i!=GetPaintMode() ) {
			BOOL valid = FALSE;
			HWND hwnd = (mpDialogPaintDeform==NULL?  NULL : mpDialogPaintDeform->GetHWnd());
			if( v.i==PAINTMODE_PAINTPUSHPULL )	valid = IsButtonEnabled( hwnd, IDC_PAINTDEFORM_PUSHPULL );
			if( v.i==PAINTMODE_PAINTRELAX )		valid = IsButtonEnabled( hwnd, IDC_PAINTDEFORM_RELAX );
			if( v.i==PAINTMODE_ERASEDEFORM )	valid = IsButtonEnabled( hwnd, IDC_PAINTDEFORM_REVERT );
			if( v.i==PAINTMODE_OFF )			valid = TRUE;
			if( valid ) OnPaintBtn(v.i, t);
		}
		break;
	}
}
void CocoRoomTodayCandy::MakeScroll()
{
    int numOfList = friendList.size();

    // init select array
    selected.clear();
    for (int i = 0 ; i < numOfList ; i++)
        selected.push_back(false);

    // make scroll
    scrollContainer = CCLayer::create();
    scrollContainer->setPosition(ccp(77, 492+904+243));
    //scrollContainer->setContentSize(CCSizeMake(862, (numOfList-1)*166));

    int height = 0;
    char fname[50], fname2[50];
    for (int i = numOfList-1 ; i >= 0 ; i--)
    {
        if (friendList[i]->GetKakaoId() == myInfo->GetKakaoId())
            continue;

        CCLayer* itemLayer = CCLayer::create();
        itemLayer->setContentSize(CCSizeMake(862, 166));
        //itemLayer->setPosition(ccp(34, (numOfList-1-height)*166));
        itemLayer->setPosition(ccp(34, height*166));
        scrollContainer->addChild(itemLayer, 2);
        spriteClass->layers.push_back(itemLayer);
        height++;


        // 프로필 이미지
        sprintf(fname, "background/bg_profile.png%d", i);
        ProfileSprite* psp = ProfileSprite::GetObj(friendList[i]->GetImageUrl());
        if (friendList[i]->GetImageUrl() != "" && psp->IsLoadingDone())
        {
            spriteClass->spriteObj.push_back( SpriteObject::CreateFromSprite(0, psp->GetProfile(), ccp(0, 0), ccp(35+5, 35+11), CCSize(0,0), "", "Layer", itemLayer, 3, 0, 255, 0.95f) );
            sprintf(fname, "background/bg_profile.png%d", i);
            spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname, ccp(0, 0), ccp(35, 35), CCSize(0, 0), "", "Layer", itemLayer, 3) );
        }
        else
        {
            spriteClass->spriteObj.push_back( SpriteObject::CreateFromSprite(0, psp->GetProfile(), ccp(0, 0), ccp(35, 35), CCSize(0,0), "", "Layer", itemLayer, 3, 0, 255, 1.0f, -888*(numOfList-i)) ); // tag = -888 * (i+1)
            spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname, ccp(0, 0), ccp(35, 35), CCSize(0, 0), "", "Layer", itemLayer, 3, 0, 255, -777*(numOfList-i)) ); // tag = -777 * (i+1)
        }


        // name (text)
        spriteClass->spriteObj.push_back( SpriteObject::CreateLabel(friendList[i]->GetNickname(), fontList[0], 48, ccp(0, 0), ccp(196, 71), ccc3(78,47,8), "", "Layer", itemLayer, 3) );

        // button
        sprintf(fname, "button/btn_blue_mini.png%d", i);
        spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname, ccp(0, 0), ccp(635, 34+3), CCSize(0, 0), "", "Layer", itemLayer, 3, 0, 255) );
        sprintf(fname2, "letter/letter_select.png%d", i);
        spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname2, ccp(0.5, 0), ccp(spriteClass->spriteObj[spriteClass->spriteObj.size()-1]->sprite->getContentSize().width/2, 24), CCSize(0, 0), fname, "0", NULL, 3, 1, 255) );

        /*if (friendList[i]->GetPotionMsgStatus() == 0)
        {
            ((CCSprite*)spriteClass->FindSpriteByName(fname))->setColor(ccc3(150,150,150));
            ((CCSprite*)spriteClass->FindSpriteByName(fname2))->setColor(ccc3(150,150,150));
        }*/

        sprintf(fname, "button/btn_skill_master.png%d", i);
        spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname, ccp(0, 0), ccp(635, 34+6), CCSize(0, 0), "", "Layer", itemLayer, 3, 0, 0) );
        sprintf(fname2, "letter/letter_select_brown.png%d", i);
        spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname2, ccp(0.5, 0), ccp(spriteClass->spriteObj[spriteClass->spriteObj.size()-1]->sprite->getContentSize().width/2, 27), CCSize(0, 0), fname, "0", NULL, 3, 1, 0) );

        SetSelectMode(i);

        // dotted line
        //if (i < numOfList-1)
        //{
        sprintf(fname, "background/bg_dotted_line.png%d", i);
        spriteClass->spriteObj.push_back( SpriteObject::Create(0, fname, ccp(0, 0), ccp(0, 5), CCSize(0, 0), "", "Layer", itemLayer, 3) );
        //}
    }

    // container 생성 + offset
    scrollContainer->setContentSize(CCSizeMake(862, height*166));
    scrollView->setContainer(scrollContainer);
    scrollView->setContentSize(scrollContainer->getContentSize());
    scrollView->setContentOffset(ccp(0, scrollView->minContainerOffset().y), false);
}