void CDefaultNumbersPopupList::HandleListBoxEventL (CEikListBox *aListBox, TListBoxEvent aEventType) { CALLSTACKITEM_N(_CL("CDefaultNumbersPopupList"), _CL("HandleListBoxEventL")); if (aListBox == iListbox) { if (aEventType == EEventEnterKeyPressed) { DisplaySelection(); } } }
nsresult nsTableCellFrame::DecorateForSelection(nsPresContext* aPresContext, nsIRenderingContext& aRenderingContext, const nsStyleBackground *aStyleColor) { PRInt16 displaySelection; displaySelection = DisplaySelection(aPresContext); if (displaySelection) { PRBool isSelected = (GetStateBits() & NS_FRAME_SELECTED_CONTENT) == NS_FRAME_SELECTED_CONTENT; if (isSelected) { nsIFrameSelection *frameSelection = aPresContext->PresShell()->FrameSelection(); PRBool tableCellSelectionMode; nsresult result = frameSelection->GetTableCellSelection(&tableCellSelectionMode); if (NS_SUCCEEDED(result) && tableCellSelectionMode) { nscolor bordercolor; if (displaySelection == nsISelectionController::SELECTION_DISABLED) { bordercolor = NS_RGB(176,176,176);// disabled color } else { aPresContext->LookAndFeel()-> GetColor(nsILookAndFeel::eColor_TextSelectBackground, bordercolor); } PRInt16 t2p = (PRInt16) aPresContext->PixelsToTwips(); if ((mRect.width >(3*t2p)) && (mRect.height > (3*t2p))) { //compare bordercolor to ((nsStyleColor *)myColor)->mBackgroundColor) bordercolor = EnsureDifferentColors(bordercolor, aStyleColor->mBackgroundColor); //outerrounded aRenderingContext.SetColor(bordercolor); aRenderingContext.DrawLine(t2p, 0, mRect.width, 0); aRenderingContext.DrawLine(0, t2p, 0, mRect.height); aRenderingContext.DrawLine(t2p, mRect.height, mRect.width, mRect.height); aRenderingContext.DrawLine(mRect.width, t2p, mRect.width, mRect.height); //middle aRenderingContext.DrawRect(t2p, t2p, mRect.width-t2p, mRect.height-t2p); //shading aRenderingContext.DrawLine(2*t2p, mRect.height-2*t2p, mRect.width-t2p, mRect.height- (2*t2p)); aRenderingContext.DrawLine(mRect.width - (2*t2p), 2*t2p, mRect.width - (2*t2p), mRect.height-t2p); } } } } return NS_OK; }
void CDefaultNumbersPopupList::ProcessCommandL (TInt aCommandId) { CALLSTACKITEM_N(_CL("CDefaultNumbersPopupList"), _CL("ProcessCommandL")); switch (aCommandId) { case EContextContactsCmdAssign: { DisplaySelection(); break; } case EAknSoftkeyBack: default: { CAknPopupList::ProcessCommandL(aCommandId); } } }
u8 ChangeJobPosition(const TSA_JOB_MGR_MENU tMenu) { u16 SelectionIndex = (u16)(gPreJobMgrMenu - JM_SEL1); s16 ChangeValue = tMenu == JM_UP ? -1 : +1; // 이동 가능한지 체크 if(CheckAvaliableChangePosition(tMenu) != TRUE) return FALSE; else { if(gEditableJob == ENABLE) { // 변수 할당 JOB_INFO srcInfo, dstInfo; STEP_MANAGER stepMgr; u16 no = (SearchJobNode(&gJobList, SelectionIndex)->JobInfo).JobNo; // 마지막 자리에 빈JOB 생성 JOB_INFO info = { "NEW JOB", gxFileCount + 1, 0, }; SaveJobData(info, NULL, gxFileCount); // 원본 마지막 파일에 저장 ReadJobData(&srcInfo, &stepMgr, no); SaveJobData(srcInfo, &stepMgr, gxFileCount); // 타겟 원본 자리에 저장 ReadJobData(&dstInfo, &stepMgr, no + ChangeValue); dstInfo.JobNo -= (ChangeValue); SaveJobData(dstInfo, &stepMgr, dstInfo.JobNo - 1); // 임시 파일에 저장된 원본을 타겟 자리에 저장 ReadJobData(&srcInfo, &stepMgr, gxFileCount + 1); srcInfo.JobNo += ChangeValue; SaveJobData(srcInfo, &stepMgr, srcInfo.JobNo - 1); // 임시로 사용한 마지막 파일 삭제 char strTemp[64] = {0, }; sprintf(strTemp, "%.64s/pJOB%.3d.job", DIR_JOB, gxFileCount + 1); f_unlink(strTemp); } // 셀렉션 이동 if(SelectionIndex == 11 && gxFileCount > (gJobPageNo * PAGE_JOB_COUNT) && tMenu == JM_DOWN) { gJobPageNo++; gJobMgrMenu = JM_SEL1; gPreJobMgrMenu = JM_NONE; gIsJobNotPlaySound = TRUE; // 리스트 초기화 DrawImage(PT_SEL_START_X, PT_SEL_START_Y, NM_BG_JOB_LIST); RefreashJobList(gJobPageNo); DisplayJobList(); if(gEditableJob == TRUE) DisplaySelection(gJobMgrMenu); } else if(SelectionIndex == 0 && gJobPageNo > 1 && tMenu == JM_UP) { gJobPageNo--; gJobMgrMenu = JM_SEL12; gPreJobMgrMenu = JM_NONE; gIsJobNotPlaySound = TRUE; // 리스트 초기화 DrawImage(PT_SEL_START_X, PT_SEL_START_Y, NM_BG_JOB_LIST); RefreashJobList(gJobPageNo); DisplayJobList(); if(gEditableJob == TRUE) DisplaySelection(gJobMgrMenu); } else { if(gEditableJob == FALSE) gJobMgrMenu = (TSA_JOB_MGR_MENU)(gPreJobMgrMenu + ChangeValue); else { gPreJobMgrMenu = (TSA_JOB_MGR_MENU)(gPreJobMgrMenu + ChangeValue); // 메모리 위치 계산 u32 StartPoint = LCD_DISPLAY + (LCD_WIDTH * (PT_JOB_START_Y - 1) * 2) + ((SelectionIndex + ChangeValue) * LN_SEL_AREA) + ((SelectionIndex + ChangeValue) * LCD_WIDTH * SZ_JOB_SEL_SPACE * 2); // 타겟의 임시 저장 memcpy((VOID)LCD_6depth, (VOID)StartPoint, LN_SEL_AREA); // 대상의 이동 memcpy((VOID)StartPoint, (VOID)LCD_8depth, LN_SEL_AREA); // 임시 저장된 타겟의 내용 화면에 디스플레이 위치 계산 StartPoint = LCD_DISPLAY + (LCD_WIDTH * (PT_JOB_START_Y - 1) * 2) + (SelectionIndex * LN_SEL_AREA) + (SelectionIndex * LCD_WIDTH * SZ_JOB_SEL_SPACE * 2); // 임시 저장된 타겟의 내용 화면에 디스플레이 memcpy((VOID)StartPoint, (VOID)LCD_6depth, LN_SEL_AREA); RefreashJobList(gJobPageNo); return FALSE; } } } return TRUE; }
/*---------------------------------------------------------------------------/ / Touch /---------------------------------------------------------------------------*/ void DisplayJobMgrPage(const TOUCH_INFO* TS) { // 초기화 if(gJobMgrPageInit == DISABLE) { // 플래그 초기화 gJobMgrMenu = JM_NONE; gEditableJob = DISABLE; gJobMgrPageInit = ENABLE; gIsJobNotPlaySound = TRUE; // 화면 갱신 DrawImage(PT_ZERO, PT_ZERO, NM_BG_JOB_MGR); DisplayFuncButtons(); // JobList 갱신 RefreashJobList(gJobPageNo); // Joblist Display DisplayJobList(); // Job Select if(gPreJobMgrMenu == JM_NONE) gJobMgrMenu = gxFileCount > 0 ? JM_SEL1 : JM_NONE; else gJobMgrMenu = gPreJobMgrMenu; gPreJobMgrMenu = JM_NONE; } if(TS->Touched != FALSE) { gIsJobNotPlaySound = FALSE; gJobMgrMenu = AnalyzeJobMgrTouchArea(TS); DrawImage(PT_BT_HOME_X, PT_BT_HOME_Y, gJobMgrMenu != JM_HOME ? NM_BT_HOME : NM_BT_HOME_S); DrawImage(PT_UP, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_UP ? NM_BT_LIST_UP : NM_BT_LIST_UP_S); DrawImage(PT_DOWN, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_DOWN ? NM_BT_LIST_DOWN : NM_BT_LIST_DOWN_S); DrawImage(PT_LOAD, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_LOAD ? NM_BT_LOAD : NM_BT_LOAD_S); if(gxLogined == ENABLE) { DrawImage(PT_NEW, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_NEW ? NM_BT_NEW : NM_BT_NEW_S); DrawImage(PT_COPY, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_COPY ? NM_BT_COPY : NM_BT_COPY_S); DrawImage(PT_EDIT, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_EDIT ? NM_BT_EDIT : NM_BT_EDIT_S); DrawImage(PT_DELETE, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_DEL ? NM_BT_DELETE : NM_BT_DELETE_S); } } else { if(gJobMgrMenu != JM_NONE) { // Touch Beep play if(gIsJobNotPlaySound != TRUE) PlayBeep(); switch(gJobMgrMenu) { case JM_HOME: DrawImage(PT_BT_HOME_X, PT_BT_HOME_Y, NM_BT_HOME); InitJobList(&gJobList); gJobPageNo = 1; gPreJobMgrMenu = gJobMgrMenu = JM_NONE; gJobMgrPageInit = DISABLE; gxCurDisplay = PAGE_HOME; break; case JM_UP: DrawImage(PT_UP, PT_CON_BUTTONS_Y, NM_BT_LIST_UP); if(ChangeJobPosition(JM_UP)) return; break; case JM_DOWN: DrawImage(PT_DOWN, PT_CON_BUTTONS_Y, NM_BT_LIST_DOWN); if(ChangeJobPosition(JM_DOWN)) return; break; case JM_NEW: if(gxLogined != DISABLE) { DrawImage(PT_NEW, PT_CON_BUTTONS_Y, NM_BT_NEW); if(CreateNewJob() == TRUE) { // Editable Step set SetEditableStepMgr( (gPreJobMgrMenu - (u16)JM_SEL1) + ((gJobPageNo - 1) * PAGE_JOB_COUNT) ); // ¸®½ºÆ® ÃʱâÈ InitJobList(&gJobList); // Step Manager ·Î À̵¿ gEditableJob = DISABLE; gJobMgrPageInit = DISABLE; gxPreDisplay = gxCurDisplay; gxCurDisplay = PAGE_STEP_MGR; } } break; case JM_COPY: if(gxLogined != DISABLE) { DrawImage(PT_COPY, PT_CON_BUTTONS_Y, NM_BT_COPY); if(CopySelectJob(gPreJobMgrMenu) == TRUE) return; } break; case JM_LOAD: DrawImage(PT_LOAD, PT_CON_BUTTONS_Y, NM_BT_LOAD); if(gPreJobMgrMenu >= (u16)JM_SEL1 && gPreJobMgrMenu <= (u16)JM_SEL12) { u16 stepCount = (SearchJobNode(&gJobList, gPreJobMgrMenu - (u16)JM_SEL1))->JobInfo.Steps; if(stepCount > 0) { // Init JobManager Job List InitJobList(&gJobList); // Load Job //LoadJob((gJobPageNo - 1) * PAGE_JOB_COUNT + (gPreJobMgrMenu - (u16)JM_SEL1) + 1); // Input State 를 체크 하여 자동으로 해당 Job 을 읽는 기능을 해제. TRUE = 해제 / FALSE = 활성 gxOperState.IsManualJobOpen = TRUE; gxOperState.IsAutoJobLoad = TRUE; gxOperState.LastedJob = (gJobPageNo - 1) * PAGE_JOB_COUNT + (gPreJobMgrMenu - (u16)JM_SEL1) + 1; gEditableJob = DISABLE; gJobMgrPageInit = DISABLE; gxPreDisplay = PAGE_HOME; gxCurDisplay = PAGE_OPERATION; } } break; case JM_EDIT: if(gPreJobMgrMenu >= (u16)JM_SEL1 && gPreJobMgrMenu <= (u16)JM_SEL12 && gxLogined != DISABLE) { DrawImage(PT_EDIT, PT_CON_BUTTONS_Y, NM_BT_EDIT); // Editable Step set SetEditableStepMgr((gPreJobMgrMenu - (u16)JM_SEL1) + ((gJobPageNo - 1) * PAGE_JOB_COUNT) ); // ¸®½ºÆ® ÃʱâÈ InitJobList(&gJobList); // Step Manager ·Î À̵¿ gEditableJob = DISABLE; gJobMgrPageInit = DISABLE; gxPreDisplay = gxCurDisplay; gxCurDisplay = PAGE_STEP_MGR; } break; case JM_DEL: if(gPreJobMgrMenu >= (u16)JM_SEL1 && gPreJobMgrMenu <= (u16)JM_SEL12 && gxLogined != DISABLE) { DrawImage(PT_DELETE, PT_CON_BUTTONS_Y, NM_BT_DELETE); SetRequestMessage(""); gxPrePreDisplay = gxPreDisplay; gxPreDisplay = gxCurDisplay; gxCurDisplay = PAGE_DIALOG; } break; default: DisplaySelection(gJobMgrMenu); break; } gJobMgrMenu = JM_NONE; } { // Dialog box if(gxIsRequest == ENABLE) { // Is Delete job if(gxIsResult == ENABLE) DeleteSelectJob(gPreJobMgrMenu); gxIsRequest = DISABLE; gxIsResult = DISABLE; gxPreDisplay = gxPrePreDisplay; } } } }