⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 .#progect.c.1.81

📁 个人日程管理系统
💻 81
📖 第 1 页 / 共 5 页
字号:
 * Parm : * Out  :  * Auth : burgbach, 19.10.2000 * Mod  : rw, 30.12.2000 * 		  	updated signature of TaskSetToDoStatus * Mod	: lb, 2001-09-06 * 		  	adapt to 0.23 db format ***************************************************************************/void ProgressHandleEvent(void){	// only for leaves	// not for directlink types	TaskFormatType format;	if (!gActualTask)		return;	format = TaskGetFormat(gdbP, gActualTask);	if (format.itemType == actionType)	{		TaskSetCompleted(gdbP, gActualTask, 			TaskGetCompleted(gdbP, gActualTask) == ACTION_DONE ? 			ACTION_NOT_DONE : ACTION_DONE, true);		if (format.hasToDo)		{			TaskSetToDoStatus(gdbP, gActualTask, toDoComplete,				TaskGetCompleted(gdbP, gActualTask), 0,				gNoDate, 0);			// record completion date (always for ToDo linked tasks)			if (TaskGetIsDone(gdbP, gActualTask))				TaskSetToDoStatus(gdbP, gActualTask, toDoDueDate,					0, 0,					Today(), 0);		}	}	else if (!TaskGetHasChild(gdbP, gActualTask) && 		(format.itemType == progressType))	{		Int16 TInt16;		ListPtr listP = GetObjectPtr(Lst_Percent);		LstSetSelection(listP, 			TaskGetCompleted(gdbP, gActualTask));		TInt16 = LstPopupList(listP);		if (TInt16 != -1)		{			TaskSetCompleted(gdbP, gActualTask, TInt16, true);		}	}	else		return;	// record completion date	if (TaskGetIsDone(gdbP, gActualTask) && gProjectPrefs.completionDate)		TaskSetDueDate(gdbP, gActualTask, Today());	// update fathers	if (TaskGetLevel(gdbP, gActualTask) > 1)	{		TaskCalcCompleted(gdbP, 			TaskGetFatherIndex(gdbP, gActualTask));	}	FrmUpdateForm(FrmGetActiveFormID(), frmRedrawUpdateCode);}/**************************************************************************** * Name : PriorityHandleEvent * Desc : update the priority of the actualtask * Parm : * Out  :  * Auth : burgbach, 19.10.2000 ***************************************************************************/void PriorityHandleEvent(EventPtr e){	Coord lx, ly;	// edit it in place	Int16 TInt16;	ListPtr listP = GetObjectPtr(Lst_Priority);	TaskFormatType format;	format = TaskGetFormat(gdbP, gActualTask);	if (format.itemType == linkType)	{		return;	}	// init lx and ly depending on the active form	if (FrmGetActiveFormID() == FrmFlat)	{		lx = 25;		ly = 15 + e->data.tblSelect.row * 11;	}	else	{		lx = 4 + (1 + TaskGetLevel(gdbP, gActualTask) - 			gRefLevel) * 11;		if (TaskGetType(gdbP, gActualTask) == informativeType)			lx -= 11;		ly = 15 + e->data.tblSelect.row * 11;	}	LstSetSelection(listP, 		TaskGetPriority(gdbP, gActualTask) - 1);	ly -= (TaskGetPriority(gdbP, gActualTask) - 1) * 11;	// don't get out the screen	ly = ly < 1 ? 1 : ly;	ly = ly > 103 ? 103 : ly;	LstSetPosition(listP, lx, ly);	TInt16 = LstPopupList(listP);	if (TInt16 != -1)	{		TaskSetPriority(gdbP, gActualTask, TInt16 + 1);		FrmUpdateForm(FrmGetActiveFormID(), frmRedrawUpdateCode);	}	if (TaskGetFormat(gdbP, gActualTask).hasToDo)	{		TaskSetToDoStatus(gdbP, gActualTask, toDoPriority,			0, TaskGetPriority(gdbP, gActualTask),			gNoDate, 0);	}} // void PriorityHandleEvent(EventPtr e)/**************************************************************************** * Name : SelectRange * Desc : popup a user form to ask for subview or all * Parm : * Out  : Btn_Sub_All or Btn_Sub_Sub or Btn_Sub_Cancel * Auth : burgbach, 21.10.2000 ***************************************************************************/UInt16 SelectRange(void){	UInt16 temp = Btn_Sub_All;	if (gParentTask) // if actual subview is not the total view	{		FormPtr frmSub = FrmInitForm(FrmSubOrAll);		temp = FrmDoDialog(frmSub);		FrmDeleteForm(frmSub);	}	return temp;} // UInt16 SelectRange(void)/**************************************************************************** * Name : FrmMainMenuHandleEvent * Desc : Main Menu event handler * Parm :   -> Event to handle * Out  :   <- true if event was handled * Auth : burgbach, ??.??.2000 * Mod  : hcc, 28.04.2001 *          Add Collapse Father command * Mod	: lb, 2001-09-06 * 		  	adapt to 0.23 db format ***************************************************************************/Boolean FrmMainMenuHandleEvent(EventPtr e){	FormPtr frm;	frm = FrmGetActiveForm();	switch(e->data.menu.itemID) {		case MenuMainNewTask:			ViewCreateNewTask();			break;		case MenuMainTop:			// if there aren't any records, then just ignore			if (PgNumRecords(gdbP) <= 1)				break;			gActualTask = gParentTask + 1;			SelectActualTask(true);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainBottom:			if (gRefLevel == 0)				gActualTask = PgNumRecords(gdbP) - 1;			else				gActualTask = GetLastInSub(gParentTask);			SelectActualTask(true);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainRepair:			TaskRepairTree(gdbP, 0, 0);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainReInit:			switch (SelectRange())			{				case Btn_Sub_All:					if (ConfirmCustom(StrActionDelete, StrAllTasks) == 0)					{						while (PgNumRecords(gdbP) > 1)						{							TaskRemove(gdbP, 1);						}						gParentTask = gRefLevel = 0;						// erase the up button						CtlHideControl(GetObjectPtr(Btn_Sub_Up));						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				case Btn_Sub_Sub:					if (ConfirmCustom(StrActionDelete, 						StrAllDoneTasksInThisView) == 0)					{						TaskRemoveChildren(gdbP, gParentTask);						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				default:					break;			}			break;		case MenuMainSyncToDo:				TaskSyncAll();				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainResetDates:			FrmPopupForm(FrmSetReset);			break;		case MenuMainDeleteChildren:			if (gActualTask && TaskGetHasChild(gdbP, gActualTask))			{				if (ConfirmCustom(StrActionDelete, 					StrAllChildrenOfSelectedTask) == 0)				{					TaskRemoveChildren(gdbP, gActualTask);					FrmUpdateForm(FrmMain, frmRedrawUpdateCode);				}			}			break;		case MenuMainDeleteTask:			if (QueryDeleteTask(gdbP,gActualTask))			{				TaskDeleteTree(gdbP,gActualTask);				gActualTask=0;				gParentTask=0;				gRefLevel=0;				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}				break;		case MenuMainDeleteDoneTask:			switch (SelectRange())			{				case Btn_Sub_All:					if (ConfirmCustom(StrActionDelete, StrAllDoneTasks) == 0)					{						// to be sure the percentages are correct						TaskCalcCompletedAll(gdbP);						TaskRemoveDone(gdbP);						TaskCalcCompletedAll(gdbP);						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				case Btn_Sub_Sub:					if (ConfirmCustom(StrActionDelete, 						StrAllDoneTasksInThisView) == 0)					{						// to be sure the percentages are correct						TaskCalcCompletedAll(gdbP);						TaskRemoveDoneChildren(gdbP, gParentTask);						TaskCalcCompletedAll(gdbP);						FrmUpdateForm(FrmMain, frmRedrawUpdateCode);					}					break;				default:					break;			}			break;		case MenuMainExpandAll:			TaskExpand(gdbP, 0);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainCollapseAll:			TaskCollapse(gdbP, 0);			Scroll(scrollTop, 0);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainExpandOne:			TaskExpand(gdbP, gActualTask);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainCollapseOne:			TaskCollapse(gdbP, gActualTask);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuMainCollapseFather:		{			UInt16 fatherIndex = TaskGetFatherIndex(gdbP, gActualTask);			if(fatherIndex != 0)			{				TaskCollapse(gdbP, fatherIndex);				gActualTask = fatherIndex;				SelectActualTask(true);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;		}		case MenuMainPreferences:			FrmPopupForm(FrmProjectProperties);			break;		case MenuMainDisplayPreferences:			FrmPopupForm(FrmDisplayProperties);			break;		case MenuMainFlatFilter:			FrmPopupForm(FrmFlatFilter);			break;		case MenuMainClose:			FrmGotoForm(FrmProjectList);			CloseDB(gdbP);			gActualTask = gLastSelected = 0;			break;		case MenuMainViewSub:			break;		case MenuMainViewAll:			gParentTask = 0;			gRefLevel = 0;			// erase the up button			CtlHideControl(GetObjectPtr(Btn_Sub_Up));			SetFormTitle(frm, gCurrentPrefs.openDBName);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuEditCut:			if (gActualTask)			{				TaskToClipboard(gdbP, gActualTask, true);				TaskRemove(gdbP, gActualTask);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;		case MenuEditCopy:			if (gActualTask)			{				TaskToClipboard(gdbP, gActualTask, true);			}			break;		case MenuEditCopyChildren:			if (gActualTask && TaskGetHasChild(gdbP, gActualTask))			{				TaskToClipboard(gdbP, gActualTask, false);			}			break;		case MenuEditPaste:			if (gActualTask || PgNumRecords(gdbP) == 1 ||				!TaskGetHasChild(gdbP, gParentTask))			{				if (!gActualTask)					gActualTask = TaskFromClipboard(gdbP, gParentTask, true);				else					gActualTask = TaskFromClipboard(gdbP, gActualTask, false);				SelectActualTask(true);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;		case MenuEditPasteAsChildren:			if (gActualTask)				gActualTask = TaskFromClipboard(gdbP, gActualTask, true);			SelectActualTask(true);			FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			break;		case MenuEditAddNote:			if (gActualTask)			{				FrmPopupForm(FrmNoteEdit);			}			break;		case MenuMainTaskDefaults:			FrmPopupForm(FrmTaskDefaults);			break;		case MenuProjectListAbout:			FrmCustomAlert(ProgectAbout, VERSION, " ", " ");			break;		case MenuMainMemoExport:			FrmPopupForm(FrmMemoExportProperties);			break;		case MenuPublishLinkMaster:			if (gActualTask > 0)				PublishToLinkMaster(gdbP, gActualTask);			break;		case MenuLinkViaLinkMaster:			if (gActualTask > 0)				RequestLinkViaLinkMaster(gCurrentPrefs.openDBName, gActualTask);			break;		case MenuRemoveLinkViaLinkMaster:			if (gActualTask > 0)			{				RemoveLinkViaLinkMaster(gActualTask);				FrmUpdateForm(FrmMain, frmRedrawUpdateCode);			}			break;	}	return true;} // Boolean FrmMainMenuHandleEvent(EventPtr e)Boolean FrmMainCtlSelectHandleEvent(EventPtr e){	FormPtr frm;		frm = FrmGetActiveForm();	switch(e->data.ctlSelect.controlID) {		case Btn_Left:			if (gActualTask)			{				TaskToLeft(gdbP, gActualTask);				// TODO verify how to bypass this one				ProjectTableUpdate();				SelectActualTask(true);			}			break;		case Btn_Right:			if (gActualTask)			{				TaskToRight(gdbP, gActualTask);				SelectActualTask(true);			}			break;		case Btn_Up:			if (gActualTask)			{				TaskUp(gdbP, gActualTask);				SelectActualTask(true);			}			break;		case Btn_Down:			if (gActualTask)			{				TaskDown(gdbP, gActualTask);				SelectActualTask(true);			}			break;		case Btn_Sub:			// New, be able to see the sub of a terminal task			if (gActualTask)			{				char* p;				gParentTask = gActualTask;				gRefLevel = TaskGetLevel(gdbP, gParentTask);				Scroll(scrollTop, 0);				gActualTask = 0;				// show the up button				CtlShowControl(GetObjectPtr(Btn_Sub_Up));				// update the titlebar				p = TaskGetDescription(gdbP, gParentTask);				SetFormTitle(frm, p);				MemPtrFree(p);				if (TaskGetHasChild(gdbP, gParentTask))				{					gActualTask = gParentTask + 1;					SelectActualTask(true);				}			}			break;		case Btn_Sub_Up:			TblSetItemInt(gTable, 0, 0, gParentTask);			gParentTask = TaskGetFatherIndex(gdbP, gParentTask);			if (!gParentTask)			{				gRefLevel = 0;			}			else			{				gRefLevel = TaskGetLevel(gdbP, gParentTask);			}			//this is done by the next update			//if (gActualTask)			//{				//ProjectTableUpdate();				//SelectActualTask(false);			//}			// if we're at top level			if (!gParentTask)			{				// erase the up button				CtlHideControl(GetObjectPtr(Btn_Sub_Up));				SetFormTitle(frm, gCurrentPrefs.openDBName);			}			else			{				char* p = TaskGetDescription(gdbP, gParentTask);				SetFormTitle(frm, p);				MemPtrFree(p);			}			break;		case Btn_Done:			FrmGotoForm(FrmProjectList);			CloseDB(gdbP);			

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -