コード例 #1
0
ファイル: widgets.c プロジェクト: Magister/cndrvcups-capt
void RestoreTopWidgetData(const char *dlg_name)
{
	const int top_widget_num = g_list_length(g_topwidget_list);
	int i = 0;
	char *key = NULL;
	TopWidget* top_widget = NULL, *found = NULL;

	for(; i < top_widget_num; i++){
		top_widget = (TopWidget*)g_list_nth_data(g_topwidget_list, i);
		if(top_widget != NULL){
			if(strcmp(dlg_name, top_widget->name) == 0){
				found = top_widget;
				break;
			}
		}
	}
	i = 0;
	if(found != NULL){
		const int len = g_list_length(found->save_data);
		TopWidgetSaveData* data = NULL;
		for(; i < len; i++){
			data = g_list_nth_data(found->save_data, i);
			if((data != NULL) && (data->key_value != NULL)){
				if((ID_PPD_OPTION < (data->id)) && ((data->id) < ID_PPD_OPTION_BOTTOM)){
					key = cngplpIDtoKey(data->id);
					UpdatePPDDataForCancel(g_cngplp_data, key, data->key_value);
					MemFree(key);
				}else{
					if(ID_JOBACCOUNT == data->id){
						if(0 == strcmp(data->key_value, "1")){
							cngplpSetData(g_cngplp_data, data->id, "True");
						}else{
							cngplpSetData(g_cngplp_data, data->id, "False");
						}
					}else if(ID_SELECTBY == data->id){
						if((g_cngplp_data != NULL) && (g_cngplp_data->ppd_opt != NULL)){
							g_cngplp_data->ppd_opt->selectby = atoi(data->key_value);
						}
					}else if(ID_BOOKLET_DLG == data->id){
						UpdatePPDDataForCancel(g_cngplp_data, "Booklet", data->key_value);
					}else{
						cngplpSetData(g_cngplp_data, data->id, data->key_value);
					}
				}
			}
		}
		if((g_cngplp_data != NULL) && (g_cngplp_data->ppd_opt != NULL) && (g_cngplp_data->ppd_opt->multipunch != NULL)){
			memset(g_cngplp_data->ppd_opt->multipunch, '\0', 16);
		}
		RemarkOptValue(g_cngplp_data, "BindEdge");
		RemarkOptValue(g_cngplp_data, "");
	}
}
コード例 #2
0
ファイル: widgets.c プロジェクト: Magister/cndrvcups-capt
void UpdateData(const int id, const char *value)
{
	char *text;

	text = cngplpSetData(g_cngplp_data, id, (char*)value);
	UpdateWidget(id, text);
}
コード例 #3
0
ファイル: widgets.c プロジェクト: Magister/cndrvcups-capt
void UpdateEntryWidget(const int id, const char *entry_name)
{
	const gchar *text;
	text = GetTextEntry(entry_name);
	if((text != NULL) && (strcmp(text, "")) != 0){
		cngplpSetData(g_cngplp_data, id, (char*)text);
	}
}
コード例 #4
0
ファイル: widgets.c プロジェクト: Magister/cndrvcups-capt
void UpdateDataCheck(const int id, const int active)
{
	char *text;
	char *str;

	str = (active != 0) ? "true" : "false";
	text = cngplpSetData(g_cngplp_data, id, str);
	UpdateWidget(id, text);
}
コード例 #5
0
ファイル: widgets.c プロジェクト: Magister/cndrvcups-capt
void UpdateDataInt(const int id, const int value)
{
	char *text;
	char str[NUMDATA];
	memset(str, 0, NUMDATA - 1);
	snprintf(str, NUMDATA - 1, "%d", value);
	text = cngplpSetData(g_cngplp_data, id, str);
	UpdateWidget(id, text);
}
コード例 #6
0
ファイル: widgets.c プロジェクト: Magister/cndrvcups-capt
void UpdateDataCombo(const int id, const char *combo_entry_name)
{
	char *text;
	char *str;
	char *tmp;
	GtkWidget *entry = NULL;
	entry = glade_xml_get_widget(g_cngplp_xml, combo_entry_name);
	if(entry != NULL){
		tmp =(gchar*)gtk_entry_get_text(GTK_ENTRY(entry));
		str = TextToName(id, tmp);
		if(str == NULL){
			str = tmp;
		}
		text = cngplpSetData(g_cngplp_data, id, str);
		UpdateWidget(id, text);
	}
}
コード例 #7
0
ファイル: controller.c プロジェクト: anymex/cndrvcups-lb
gboolean InitController(GtkWidget* main_dlg, char *printer_name, char *print_file_name, const gboolean first_load)
{
	const gboolean ret = TRUE;
	char *tmp = NULL;
	SigInit();

	g_widget_table = widget_table;
	g_cngplp_data = cngplpNew(print_file_name);
	if(NULL == g_cngplp_data){
		return FALSE;
	}
	cngplpSetData(g_cngplp_data, ID_PRINTERNAME, printer_name);
	if(g_cngplp_data->file_name != NULL){
		tmp = cngplpGetData(g_cngplp_data, ID_DATANAME);
		if(tmp != NULL){
			cngplpSetData(g_cngplp_data, ID_DATANAME, "1");
			memFree(tmp);
		}
		tmp = cngplpGetData(g_cngplp_data, ID_HOLDQUEUE_DATANAME);
	   	if(tmp != NULL){
			cngplpSetData(g_cngplp_data, ID_HOLDQUEUE_DATANAME, "1");
			memFree(tmp);
		}
		tmp = cngplpGetData(g_cngplp_data, ID_SECURED_DOCNAME);
	   	if(tmp != NULL){
	   		char *file = strrchr(g_cngplp_data->file_name, '/');
			if(file != NULL){
				file++;
			}else{
				file = g_cngplp_data->file_name;
			}
			cngplpSetData(g_cngplp_data, ID_SECURED_DOCNAME, file);
			memFree(tmp);
		}
	}
	if(first_load != FALSE){
		if(InitAllFiles() < 0){
			CloseController();
			return FALSE;
		}
		const gchar* name = gtk_widget_get_name(main_dlg);
		SetMainDlgInfo(main_dlg, name);
	}else{
		char res_path[MAX_PATH];
		Notebook *note = NULL;

		if(g_notebook_list != NULL){
			note = (Notebook *)(g_notebook_list->data);
		}
		GList *tab_cur;
		tab_cur = note->show_tabs;
		while(tab_cur != NULL){
			free((NotebookTab *)(tab_cur->data));
			tab_cur = tab_cur->next;
		}
		g_list_free(note->show_tabs);
		note->show_tabs = NULL;

		int TopWidget_len = 0, SaveData_len = 0, i = 0, j = 0;
		TopWidget *TopWidget_cur = NULL;
		TopWidgetSaveData *savedata = NULL;
		TopWidget_len = g_list_length(g_topwidget_list);
		for(i = 0; i < TopWidget_len; i++){
			TopWidget_cur = (TopWidget *)g_list_nth_data(g_topwidget_list, i);
			if(TopWidget_cur != NULL){
				SaveData_len = g_list_length(TopWidget_cur->save_data);
			}
			for(j = 0; j < SaveData_len; j++){
				savedata = (TopWidgetSaveData *)g_list_nth_data(TopWidget_cur->save_data, j);
				DeleteTopWidgetSaveData(savedata);
			}
			g_list_free(TopWidget_cur->save_data);
			TopWidget_cur->save_data = NULL;
		}

		FreeResource();

		memset(res_path, 0, sizeof(res_path));
		strcat(res_path, PACKAGE_CONFIG_DIR);
		if(g_cngplp_data != NULL){
			InitKeyTextList(res_path, g_cngplp_data->ppd_opt->pcfile_name);
		}

		FuncInfo* cur_func = g_load_func;
		FuncInfo* next_func = cur_func;
		while(cur_func != NULL){
			next_func = cur_func->next;
			free(cur_func);
			cur_func = NULL;
			cur_func = next_func;
		}
		g_load_func = NULL;
	}
	LoadPropFuncByConfigfile(first_load);
	return ret;
}