📄 nxaddress.cxx
字号:
} { NxInput *o = lookup_input = new NxInput(BUTTON_X, 60, W_W - BUTTON_WIDTH, 20); addr_lookup_window->add((Fl_Widget *) o); } { NxButton *o = new NxButton(BUTTON_X, 90, BUTTON_WIDTH, BUTTON_HEIGHT, "Search"); o->callback(searchLookup_callback); addr_lookup_window->add((Fl_Widget *) o); } { NxButton *o = new NxButton(BUTTON_X + 63, 90, BUTTON_WIDTH, BUTTON_HEIGHT, "Cancel"); o->callback(cancelLookup_callback); addr_lookup_window->add((Fl_Widget *) o); }}voidNxAddress::make_results_window(){ addr_results_window = new NxPimPopWindow("Search Results", NxApp::Instance()-> getGlobalColor(APP_FG), 5, (W_W / 3), W_W - 10, (W_H - (W_W / 2))); add_window((Fl_Window *) addr_results_window->GetWindowPtr()); { results_message = new NxOutput(4, 19, W_W - 19, 25); results_message->value("Nothing Found."); results_message->hide(); addr_results_window->add((Fl_Widget *) results_message); } { results_table = new Flv_Table_Child(4, 19, (W_W - 19), (W_H - (W_W / 2) - 3 * (BUTTON_HEIGHT)), 0, (W_W - 25)); results_table->callback(view_callback); results_table->SetCols(1); addr_results_window->add((Fl_Widget *) results_table); } { NxButton *o = new NxButton(BUTTON_X, (W_H - (W_W / 2) - BUTTON_HEIGHT - 9), BUTTON_WIDTH, BUTTON_HEIGHT, "Done"); o->callback(doneLookup_callback); addr_results_window->add((Fl_Widget *) o); }}voidNxAddress::make_custom_window(){ addr_custom_window = new NxPimPopWindow("Custom Fields", NxApp::Instance()-> getGlobalColor(APP_FG), 5, (W_W / 3), W_W - 10, (W_H - (W_W / 2))); add_window((Fl_Window *) addr_custom_window->GetWindowPtr()); // Title { NxMultilineOutput *o = new NxMultilineOutput(BUTTON_X, 20, W_W - 25, 40, ""); o->value("Rename the custom fields\nby editing the text below:"); addr_custom_window->add((Fl_Widget *) o); } // Custom 1 custom1Input = new NxInput(BUTTON_X + 3, 50, W_W - 93, 20, ""); custom1Input->when(FL_WHEN_RELEASE_ALWAYS); custom1Input->callback(NxApp::Instance()->pasteTarget_callback); addr_custom_window->add((Fl_Widget *) custom1Input); // Custom 2 custom2Input = new NxInput(BUTTON_X + 3, 70, W_W - 93, 20, ""); custom2Input->when(FL_WHEN_RELEASE_ALWAYS); custom2Input->callback(NxApp::Instance()->pasteTarget_callback); addr_custom_window->add((Fl_Widget *) custom2Input); // Custom 3 custom3Input = new NxInput(BUTTON_X + 3, 90, W_W - 93, 20, ""); custom3Input->when(FL_WHEN_RELEASE_ALWAYS); custom3Input->callback(NxApp::Instance()->pasteTarget_callback); addr_custom_window->add((Fl_Widget *) custom3Input); // Custom 4 custom4Input = new NxInput(BUTTON_X + 3, 110, W_W - 93, 20, ""); custom4Input->when(FL_WHEN_RELEASE_ALWAYS); custom4Input->callback(NxApp::Instance()->pasteTarget_callback); addr_custom_window->add((Fl_Widget *) custom4Input); { NxButton *o = new NxButton(BUTTON_X, (W_H - (W_W / 2) - BUTTON_HEIGHT - 9), BUTTON_WIDTH, BUTTON_HEIGHT, "Done"); o->callback(doneCustom_callback); addr_custom_window->add((Fl_Widget *) o); } { NxButton *o = new NxButton(BUTTON_X + 63, (W_H - (W_W / 2) - BUTTON_HEIGHT - 9), BUTTON_WIDTH, BUTTON_HEIGHT, "Cancel"); o->callback(cancelCustom_callback); addr_custom_window->add((Fl_Widget *) o); }}////////////////////////////////////////////////////////////////////////////////// CallbacksvoidNxAddress::new_callback(Fl_Widget * fl, long l){ NxTodo *n = new NxTodo; // Indexes //memset(n->szId, 0, ID); n->nId = 0; n->nCat = 0; memset(n->szCategory, 0, CATEGORYS); n->nShowDisplay = 0; // Data memset(n->szLastName, 0, TEXT); memset(n->szFirstName, 0, TEXT); memset(n->szCompany, 0, TEXT); memset(n->szJobTitle, 0, TEXT); n->nDep1 = 0; n->nDep2 = 1; n->nDep3 = 2; n->nDep4 = 3; n->nDep5 = 4; n->nDep6 = 5; n->nDep7 = 6; memset(n->szDep1, 0, TEXT); memset(n->szDep2, 0, TEXT); memset(n->szDep3, 0, TEXT); memset(n->szDep4, 0, TEXT); memset(n->szDep5, 0, TEXT); memset(n->szDep6, 0, TEXT); memset(n->szDep7, 0, TEXT); memset(n->szAddress, 0, DBL_TEXT); memset(n->szCity, 0, TEXT); memset(n->szRegion, 0, TEXT); memset(n->szPostalCode, 0, TEXT); memset(n->szCountry, 0, TEXT); memset(n->szBDay, 0, DATE); memset(n->szAnniv, 0, DATE); memset(n->szCustom1, 0, TEXT); memset(n->szCustom2, 0, TEXT); memset(n->szCustom3, 0, TEXT); memset(n->szCustom4, 0, TEXT); memset(n->szNoteFile, 0, NOTEDB); NxApp::Instance()->set_catlist_window((Fl_Window *) addr_edit_window-> GetEditCategoryWindowPtr()); set_szNoteFile("^"); strcpy(n->szNoteFile, "^"); strcpy(n->szCategory, note_category->label()); edit_category_list->label(n->szCategory); _fill_form(n); g_EditFlag = 0; if (0 == strcmp("All", note_category->label())) AllFlag = true; //cout << "new_callback(): n->szNoteFile = " << n->szNoteFile << endl; NxApp::Instance()->show_window(addr_edit_window->GetWindowPtr());}voidNxAddress::select_note(NxTodo * note){ int rows = table->rows(); DPRINT("A\n"); for (int idx = 0; idx <= rows; idx++) { DPRINT("B table[%p]\n", table); void *data = table->data(idx); DPRINT("B1 [%p]\n", data); NxTodo *n = (NxTodo *) data; DPRINT("C\n"); //if(0 == strcmp(note->szId, n->szId)) { if (note->nId == n->nId) { DPRINT("D\n"); table->row(idx); // this is a select? DPRINT("E\n"); break; } }}voidNxAddress::viewRecord(int recno){ NxApp::Instance()->set_catlist_window((Fl_Window *) addr_view_window-> GetEditCategoryWindowPtr()); NxTodo *note = new NxTodo; DPRINT("1\n"); int rec_array[1]; rec_array[0] = -1; char c_recno[8]; sprintf(c_recno, "%d", recno); db->Select(CONTACTS, c_recno, RECNO, rec_array, 1); recno = rec_array[0]; int catid_array[1]; //char catid[8]; char catid[4]; char buf1[4]; catid_array[0] = -1; db->Extract(CONTACTS, recno, CAT, catid); note->nCat = atoi(catid); db->Select(CATEGORY, catid, RECNO, catid_array, 1); if (-1 != catid_array[0]) db->Extract(CATEGORY, catid_array[0], CAT, note->szCategory); else strcpy(note->szCategory, "Unfiled"); DPRINT("2\n"); //db->Extract(CONTACTS, recno, RECNO, note->szId); db->Extract(CONTACTS, recno, RECNO, buf1); note->nId = atoi(buf1); db->Extract(CONTACTS, recno, SHOW, buf1); note->nShowDisplay = atoi(buf1); db->Extract(CONTACTS, recno, LASTNAME, note->szLastName); db->Extract(CONTACTS, recno, FIRSTNAME, note->szFirstName); db->Extract(CONTACTS, recno, COMPANY, note->szCompany); db->Extract(CONTACTS, recno, TITLE, note->szJobTitle); db->Extract(CONTACTS, recno, DEP1ID, buf1); note->nDep1 = atoi(buf1); db->Extract(CONTACTS, recno, DEP2ID, buf1); note->nDep2 = atoi(buf1); db->Extract(CONTACTS, recno, DEP3ID, buf1); note->nDep3 = atoi(buf1); db->Extract(CONTACTS, recno, DEP4ID, buf1); note->nDep4 = atoi(buf1); db->Extract(CONTACTS, recno, DEP5ID, buf1); note->nDep5 = atoi(buf1); db->Extract(CONTACTS, recno, DEP6ID, buf1); note->nDep6 = atoi(buf1); db->Extract(CONTACTS, recno, DEP7ID, buf1); note->nDep7 = atoi(buf1); db->Extract(CONTACTS, recno, DEP1, note->szDep1); db->Extract(CONTACTS, recno, DEP2, note->szDep2); db->Extract(CONTACTS, recno, DEP3, note->szDep3); db->Extract(CONTACTS, recno, DEP4, note->szDep4); db->Extract(CONTACTS, recno, DEP5, note->szDep5); db->Extract(CONTACTS, recno, DEP6, note->szDep6); db->Extract(CONTACTS, recno, DEP7, note->szDep7); db->Extract(CONTACTS, recno, ADDRESS, note->szAddress); db->Extract(CONTACTS, recno, CITY, note->szCity); db->Extract(CONTACTS, recno, REGION, note->szRegion); db->Extract(CONTACTS, recno, POSTALCODE, note->szPostalCode); db->Extract(CONTACTS, recno, COUNTRY, note->szCountry); db->Extract(CONTACTS, recno, BDAY, note->szBDay); db->Extract(CONTACTS, recno, ANNIV, note->szAnniv); db->Extract(CONTACTS, recno, CUST1, note->szCustom1); db->Extract(CONTACTS, recno, CUST2, note->szCustom2); db->Extract(CONTACTS, recno, CUST3, note->szCustom3); db->Extract(CONTACTS, recno, CUST4, note->szCustom4); db->Extract(CONTACTS, recno, NOTE, note->szNoteFile); g_EditFlag = 1; g_SearchFlag = 0; DPRINT("2a\n"); select_note(note); DPRINT("3\n"); _fill_view_form(note); DPRINT("4\n"); view_category_list->label(note->szCategory); DPRINT("5\n"); NxApp::Instance()->show_window(addr_view_window->GetWindowPtr()); DPRINT("6\n"); delete note;}voidNxAddress::view_callback(Fl_Widget * fl, void *o){ if (Fl::event_clicks()) { g_EditFlag = 1; NxApp::Instance()->set_catlist_window((Fl_Window *) addr_view_window-> GetEditCategoryWindowPtr()); NxTodo *n = 0; if (g_SearchFlag) { n = (NxTodo *) results_table->selected(); } else { n = (NxTodo *) table->selected(); } view_category_list->label(n->szCategory); if (n) { select_note(n); _fill_view_form(n); } if (0 == strcmp("All", note_category->label())) AllFlag = true; NxApp::Instance()->show_window(addr_view_window->GetWindowPtr()); } Fl::event_clicks(0); // Reset clicks to 0 so it does not hold one of the clicks.}voidNxAddress::edit_callback(Fl_Widget * fl, long l){ NxApp::Instance()->set_catlist_window((Fl_Window *) addr_edit_window-> GetEditCategoryWindowPtr()); NxTodo *n = 0; if (g_SearchFlag) { n = (NxTodo *) results_table->selected(); } else { n = (NxTodo *) table->selected(); } if (n == NULL) return; edit_category_list->label(n->szCategory); if (n) _fill_form(n); g_EditFlag = 1; if (0 == strcmp("All", note_category->label())) AllFlag = true; //cout << "edit_callback(): n->szNoteFile = " << n->szNoteFile << endl; NxApp::Instance()->show_window(addr_edit_window->GetWindowPtr());}voidNxAddress::delList_callback(Fl_Widget * fl, void *l){ if (table->selected() == NULL) return; if (0 == strcmp("All", note_category->label())) AllFlag = true; NxApp::Instance()->show_window(addr_dellist_window->GetWindowPtr(), DEACTIVATE, addr_list_window->GetWindowPtr());}voidNxAddress::delEdit_callback(Fl_Widget * fl, void *l){ g_SearchFlag = 0; if (0 == strcmp("All", note_category->label())) AllFlag = true; NxApp::Instance()->show_window(addr_deledit_window->GetWindowPtr(), DEACTIVATE, addr_edit_window->GetWindowPtr());}voidNxAddress::delView_callback(Fl_Widget * fl, void *l){ g_SearchFlag = 0; if (0 == strcmp("All", note_category->label())) AllFlag = true; NxApp::Instance()->show_window(addr_delview_window->GetWindowPtr(), DEACTIVATE, addr_view_window->GetWindowPtr());}voidNxAddress::doneEdit_callback(Fl_Widget * fl, long l){ int bDeleteMe = 0; NxTodo *n = 0; if (g_SearchFlag) { n = (NxTodo *) results_table->selected(); g_SearchFlag = 0; } else if (g_EditFlag) { n = (NxTodo *) table->selected(); } if (!n) { //cout << "doneEdit_callback(): !table->selected()\n"; n = new NxTodo; strcpy(n->szNoteFile, get_szNoteFile()); bDeleteMe = 1; } else //cout << "doneEdit_callback(): table->selected()\n"; //cout << "doneEdit_callback(): n->szNoteFile = " << n->szNoteFile << endl; NxApp::Instance()->set_catlist_window((Fl_Window *) addr_list_window-> GetEditCategoryWindowPtr()); strcpy(n->szCategory, edit_category_list->label()); n->nCat = GetCatId(n->szCategory); if ((n->nCat == 0) || (strcmp(n->szCategory, "All") == 0)) strcpy(n->szCategory, "Unfiled"); // fill in note structure here strcpy(n->szFirstName, edit_firstname->value()); strcpy(n->szLastName, edit_lastname->value()); strcpy(n->szCompany, edit_company->value()); strcpy(n->szJobTitle, edit_title->value()); n->nDep1 = edit_misc_list1->value(); n->nDep2 = edit_misc_list2->value(); n->nDep3 = edit_misc_list3->value(); n->nDep4 = edit_misc_list4->value(); n->nDep5 = edit_misc_list5->value(); n->nDep6 = edit_misc_list6->value(); n->nDep7 = edit_misc_list7->value(); strcpy(n->szDep1, edit_misc1->value()); strcpy(n->szDep2, edit_misc2->value()); strcpy(n->szDep3, edit_misc3->value()); strcpy(n->szDep4, edit_misc4->value()); strcpy(n->szDep5, edit_misc5->value()); strcpy(n->szDep6, edit_misc6->value()); strcpy(n->szDep7, edit_misc7->value()); strcpy(n->szAddress, editAddress->value()); strcpy(n->szCity, editCity->value()); strcpy(n->szRegion, editRegion->value()); strcpy(n->szPostalCode, editPostalCode->value()); strcpy(n->szCountry, editCountry->value()); strcpy(n->szBDay, edit_bday->value()); strcpy(n->szAnniv, edit_anniv->value()); strcpy(n->szCustom1, edit_custom1->value()); strcpy(n->szCustom2, edit_custom2->value()); strcpy(n->szCustom3, edit_custom3->value()); strcpy(n->szCustom4, edit_custom4->value()); if (g_EditFlag) { int recno[1]; recno[0] = -1; char szId[4]; sprintf(szId, "%d", n->nId); db->Select(CONTACTS, szId, RECNO, recno, 1); if (recno[0] != -1) edit_note(n, recno[0]); g_EditFlag = 0; } else { //cout << "doneEdit_callback(): write_note(n)\n"; write_note(n); } if (AllFlag) { set_category("All"); AllFlag = false; } else set_category(n->szCategory); if (bDeleteMe) delete n; NxApp::Instance()->show_window(addr_list_window->GetWindowPtr());}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -