static void DOT_SetupBlastParameters(GrouP g, DOTStartDataPtr sdata) { GrouP g0, g1, g2, g3, g4, g5, gtotal; GrouP g_sub1, g_sub2; gtotal = HiddenGroup(g, 1, 6, NULL); sdata->plusorminus = NormalGroup(gtotal, 2,1, "", systemFont,NULL); RadioButton(sdata->plusorminus, "both"); RadioButton(sdata->plusorminus, "plus-plus"); RadioButton(sdata->plusorminus, "plus-minus"); SetValue(sdata->plusorminus, 1); g0 = HiddenGroup(gtotal, 2, 1, NULL); StaticPrompt(g0, "Program name: ", 0, 0, systemFont, 'l'); sdata->progname = DialogText(g0, "blastn", 7, NULL); g1 = NormalGroup(gtotal, 4, 2, "", systemFont,NULL); StaticPrompt(g1, "query start -- ", 0, 0, systemFont, 'l'); sdata->querystart = DialogText(g1, "All", 5, NULL); StaticPrompt(g1, "query stop -- ", 0, 0, systemFont, 'l'); sdata->querystop = DialogText(g1, "All", 5, NULL); StaticPrompt(g1, "subject start -- ", 0, 0, systemFont, 'l'); sdata->subjectstart = DialogText(g1, "All", 5, NULL); StaticPrompt(g1, "subject stop -- ", 0, 0, systemFont, 'l'); sdata->subjectstop = DialogText(g1, "All", 5, NULL); g3 = NormalGroup(gtotal, 1, 3, "Local Alignment Options", programFont, NULL); g_sub1 = NormalGroup(g3, 1,1, "", programFont,NULL); g_sub2 = HiddenGroup(g_sub1, 3, 2, NULL); sdata->gapped = HiddenGroup(g_sub2, 0, 2, NULL); RadioButton(sdata->gapped, "gapped"); RadioButton(sdata->gapped, "ungapped"); SetValue(sdata->gapped, 1); g4 = NormalGroup(gtotal, 1,1, "Mask Regions", programFont,NULL); g_sub1=HiddenGroup(g4, 0, 2, NULL); sdata->mask_repeats= CheckBox(g_sub1, "Mask Repeats", NULL); SetStatus(sdata->mask_repeats, FALSE); sdata->mask_simple = CheckBox(g_sub1, "Mask Simple Sequence", NULL); SetStatus(sdata->mask_simple, TRUE); sdata->megablast= CheckBox(gtotal, "Mega Blast", DOT_MegaBlast2Defaults); SetObjectExtra(sdata->megablast, (Pointer)sdata, NULL); SetStatus(sdata->megablast, FALSE); g5 = NormalGroup(gtotal, 1,1, "", programFont,NULL); g_sub1 = HiddenGroup(g5, 2, 2, NULL); StaticPrompt(g_sub1, "E-value: e-", 0, 0, programFont, 'l'); sdata->eval = DialogText(g_sub1, "1", 5, NULL); StaticPrompt(g_sub1, "wordsize:", 0, 0, programFont, 'l'); sdata->wordsize = DialogText(g_sub1, "11", 5, NULL); }
void ClippingBoxTestCaseBase::InitialState() { // Initial clipping box should be the same as the entire DC surface. m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, s_dcSize.GetWidth(), s_dcSize.GetHeight()); }
void ClippingBoxTestCaseBase::OneRegion() { // Setting one clipping box inside DC area. m_dc->SetClippingRegion(10, 20, 80, 75); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(10, 20, 80, 75); }
void CheckPartition (long my_id) { long i; box *b; long NE, NoP, CB, PB; long Q1, Q2, Q3, Q4; long PC, CC; real xpos, ypos; NE = NoP = CB = PB = Q1 = Q2 = Q3 = Q4 = PC = CC = 0; for (i = 0; i <= Local[my_id].Max_Parent_Level; i++) { b = Local[my_id].Parent_Partition[i]; while (b != NULL) { NE += CheckBox(my_id, b, i); PB += 1; PC += b->cost; b = b->next; } } b = Local[my_id].Childless_Partition; while (b != NULL) { NE += CheckBox(my_id, b, -1); for (i = 0; i < b->num_particles; i++) { xpos = b->particles[i]->pos.x; ypos = b->particles[i]->pos.y; if (xpos > Grid->x_center) { if (ypos > Grid->y_center) Q1 += 1; else Q4 += 1; } else { if (ypos > Grid->y_center) Q2 += 1; else Q3 += 1; } } NoP += b->num_particles; CB += 1; CC += b->cost; b = b->next; } }
CImportXMLDlg::CImportXMLDlg(wxWindow* parent) : wxDialog(parent, wxID_ANY, wxString(_("Import XML Settings"))), importUnderGroup(false), importPasswordsOnly(false) { enum { TopMargin = 20, BottomMargin = 20, SideMargin = 30, RowSeparation = 10, ColSeparation = 20}; wxSizerFlags borderFlags = wxSizerFlags().Border(wxLEFT|wxRIGHT, SideMargin).Expand(); wxSizerFlags separatorFlags = wxSizerFlags().Border(wxLEFT|wxRIGHT, SideMargin/2).Expand(); wxBoxSizer* dlgSizer = new wxBoxSizer(wxVERTICAL); dlgSizer->AddSpacer(TopMargin); dlgSizer->Add(new wxStaticText(this, wxID_ANY, _("XML file to import:")), borderFlags); dlgSizer->AddSpacer(RowSeparation/2); COpenFilePickerValidator validator(filepath); dlgSizer->Add(new wxFilePickerCtrl(this, wxID_ANY, wxEmptyString, _("Please Choose a XML File to Import"), _("XML files (*.xml)|*.xml"), wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE | wxFLP_USE_TEXTCTRL, validator), borderFlags); dlgSizer->AddSpacer(RowSeparation); dlgSizer->Add(new wxStaticLine(this), separatorFlags); dlgSizer->AddSpacer(RowSeparation); wxBoxSizer* horzSizer = new wxBoxSizer(wxHORIZONTAL); horzSizer->Add(CheckBox(_("Import under Group"), &importUnderGroup), wxSizerFlags().Proportion(0)); horzSizer->AddSpacer(ColSeparation); horzSizer->Add(TextCtrl(&groupName), wxSizerFlags().Proportion(1)); dlgSizer->Add(horzSizer, borderFlags); dlgSizer->AddSpacer(RowSeparation); dlgSizer->Add(CheckBox(_("Import to change passwords of existing entries ONLY"), &importPasswordsOnly), borderFlags); dlgSizer->AddSpacer(RowSeparation); dlgSizer->Add(new wxStaticLine(this), separatorFlags); dlgSizer->AddSpacer(RowSeparation); dlgSizer->Add(CreateStdDialogButtonSizer(wxOK|wxCANCEL|wxHELP), borderFlags); dlgSizer->AddSpacer(BottomMargin); SetSizerAndFit(dlgSizer); }
void ClippingBoxTestCaseBase::OneRegionNegDim() { // Setting one clipping box with negative sizes values. // Final clipping box should have standard positive size values. m_dc->SetClippingRegion(10, 20, -80, -75); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, 11, 21); }
void ClippingBoxTestCaseBase::OneOuterRegion() { // Setting one clipping box entirely outside DC surface. // Final clipping box should be empty. m_dc->SetClippingRegion(-100, -80, 20, 40); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, 0, 0); }
void ClippingBoxTestCaseBase::TwoRegionsNonOverlapping() { // Setting one clipping box and next another box (non-overlapping). // Final clipping box should be empty. m_dc->SetClippingRegion(10, 20, 30, 30); m_dc->SetClippingRegion(50, 60, 50, 40); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, 0, 0); }
void ClippingBoxTestCaseBase::TwoRegionsOverlapping() { // Setting one clipping box and next another box (partially overlapping). // Final clipping box should be an intersection of these two boxes. m_dc->SetClippingRegion(10, 20, 80, 75); m_dc->SetClippingRegion(50, 60, 50, 40); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(50, 60, 40, 35); }
void ClippingBoxTestCaseBase::OneRegionAndEmpty() { // Setting one clipping box and next an empty box. // Final clipping box should empty. m_dc->SetClippingRegion(10, 20, 80, 75); m_dc->SetClippingRegion(0, 0, 0, 0); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, 0, 0); }
void ClippingBoxTestCaseBase::OneRegionAndReset() { // Setting one clipping box and next destroy it. // Final clipping box should be the same as DC surface. m_dc->SetClippingRegion(10, 20, 80, 75); m_dc->DestroyClippingRegion(); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, s_dcSize.GetWidth(), s_dcSize.GetHeight()); }
void ClippingBoxTestCaseBase::OneLargeRegion() { // Setting one clipping box larger then DC surface. // Final clipping box should be limited to the DC extents. m_dc->SetClippingRegion(-10, -20, s_dcSize.GetWidth()+30, s_dcSize.GetHeight()+50); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(0, 0, s_dcSize.GetWidth(), s_dcSize.GetHeight()); }
void ClippingBoxTestCaseBase::InitialStateWithTransformedDC() { // Initial clipping box with transformed DC. m_dc->SetDeviceOrigin(10, 15); m_dc->SetUserScale(0.5, 1.5); m_dc->SetLogicalScale(4.0, 2.0); m_dc->SetLogicalOrigin(-15, -20); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(-20, -25, 50, 40); }
void ClippingBoxTestCaseBase::TwoRegionsOverlappingNegDim() { // Setting one clipping box with negative size values // and next another box (partially overlapping). // Final clipping box should be an intersection of these two boxes // with positive size values. m_dc->SetClippingRegion(90, 95, -80, -75); m_dc->SetClippingRegion(50, 60, 50, 40); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(50, 60, 41, 36); }
void init(){ grabber.init(pa("-i")); bool c_arg = pa("-c"); gui << Draw().handle("draw").label("input image") << Image().handle("cropped").label("cropped") << ( VBox().maxSize(c_arg ? 0 : 12,99).minSize(c_arg ? 0 : 12,1) << Button("save as ..").handle("saveAs") << Button("overwrite input").handle("overwrite") << Combo("0,90,180,270").handle("rot").label("rotation") << CheckBox("rectangular",!pa("-r")).handle("rect") << Button("Batch crop...").handle("batch") << ( HBox().label("rectification size") << Spinner(1,4096,640).handle("s1") << Label(":") << Spinner(1,4096,480).handle("s2") ) << (HBox() << Fps().handle("fps") << CamCfg() ) ) << Show(); if(!c_arg){ gui["batch"].registerCallback(batch_crop); } const ImgBase *image = grabber.grab(); if(!c_arg){ mouse_1 = new Mouse1(image->getSize()); gui["draw"].install(mouse_1); } mouse_2 = new Mouse2(image->getSize()); gui["draw"].install(mouse_2); DrawHandle draw = gui["draw"]; draw->setImageInfoIndicatorEnabled(false); if(!c_arg){ gui["rect"].registerCallback(rectangular_changed); rectangular_changed(); if(*pa("-i",0) != "file" || FileList(*pa("-i",1)).size() != 1){ gui["overwrite"].disable(); }else{ gui["overwrite"].registerCallback(overwrite); } gui["saveAs"].registerCallback(save_as); } }
void ClippingBoxTestCaseBase::OneRegionWithTransformedDC() { // Setting one clipping box inside DC area // with applied some transformations. m_dc->SetDeviceOrigin(10, 15); m_dc->SetUserScale(0.5, 1.5); m_dc->SetLogicalScale(4.0, 2.0); m_dc->SetLogicalOrigin(-15, -20); m_dc->SetClippingRegion(-10, -20, 80, 75); m_dc->SetBackground(wxBrush(s_fgColour, wxBRUSHSTYLE_SOLID)); m_dc->Clear(); CheckBox(-10, -20, 40, 35); }
static void DOT_StartupWindow(void) { WindoW w; GrouP c, cg; DOTStartDataPtr sdata; PaneL p; w = FixedWindow (-50, -33, -10, -10, "Welcome to D-Viewer", StdCloseWindowProc); p = SimplePanel (w, 28 * stdCharWidth, 4 * stdLineHeight, DOT_DrawAbout); sdata=(DOTStartDataPtr)MemNew(sizeof(DOTStartData)); sdata->hStart=w; cg=HiddenGroup(w, 4, 0, NULL); sdata->dot=CheckBox(cg, "Dot plot", DOT_CheckDot); SetStatus(sdata->dot, TRUE); sdata->reg_blast=CheckBox(cg, "Bl2Seqs", DOT_CheckRegBlast); SetStatus(sdata->reg_blast, FALSE); sdata->auto_blast = CheckBox(cg, "Scoop", DOT_CheckAutoBlast); SetStatus(sdata->auto_blast, FALSE); sdata->seqa=CheckBox(cg, "SeqAnnote File", DOT_CheckSA); SetStatus(sdata->seqa, FALSE); c = HiddenGroup (w, 1, 3, NULL); SetGroupMargins(c, 10, 10); SetGroupSpacing (c, 10, 10); sdata->entrez=PushButton (c, "Fetch from Entrez", DOT_GetFromNetwork); Enable(sdata->entrez); sdata->file=PushButton (c, "Open Local Files", DOT_readExisting); Enable(sdata->file); PushButton (c, "Quit Program", DOT_quitProgram); SetObjectExtra(w, (Pointer)sdata, StdCleanupExtraProc); AlignObjects (ALIGN_CENTER, (HANDLE) p, (HANDLE) c, NULL, NULL); Select(w); Show(w); ProcessEvents(); }
void init() { grabber.init(pa("-i")); if (pa("-s")) { utils::Size size = pa("-s"); grabber.setDesiredSizeInternal(size); } // create the GUI gui << ( VBox() << ( HBox() << Draw().label("Original").handle("view1").minSize(16, 12) << Draw().label("Median").handle("view2").minSize(16, 12) << Draw().label("Bilateral Filtered").handle("view3").minSize(16, 12) ) << ( HBox() << Draw().label("Original").handle("viewedge1").minSize(16, 12) << Draw().label("Median").handle("viewedge2").minSize(16, 12) << Draw().label("Bilateral Filtered").handle("viewedge3").minSize(16, 12) ) << CheckBox("Use LAB",true).handle("use_lab") << CheckBox("Use gray image",false).handle("to_gray") << Slider(1,24,4).label("Bilateral Kernel Radius").handle("bi_radius") << Slider(1,24,4).label("Median Kernel Radius").handle("median_radius") << FSlider(0.1,200,5).label("sigma_r (bilateral) ").handle("sigma_r") << FSlider(0.1,200,5).label("sigma_s (bilateral) ").handle("sigma_s") << Slider(0,255,200).label("Canny low th").handle("canny_low_th") << Slider(0,255,255).label("Canny high th").handle("canny_high_th") << Slider(10,100,100).label("ROI of Img (Percent)").handle("roi_size") << Fps().handle("fps") ); gui << Show(); bi_filter = new BilateralFilterOp(); }
//--------------------------------- int main() { int n; cout<<"enter the number of the foot."<<endl; cin>>n; cout<<"enter the series."<<endl; int *p=new int[n]; for(int i=0;i<n;i++) cin>>p[i]; if(CheckBox(p,n)) cout<<"The box is routable."<<endl; else cout<<"The box is unroutable"<<endl; return 0; }
void init(){ gui << Image().handle("image").minSize(32,24) << Image().handle("imageOut").minSize(32,24) << Slider(1,22,5).out("filterSize").label("filterSize").maxSize(100,2).handle("filterSize-handle") << Slider(1,22,10).out("difference").label("difference").maxSize(100,2).handle("difference-handle") << CheckBox("useCL", true).out("disableCL").maxSize(100,2).handle("disableCL-handle") << Show(); int maxFilterSize=pa("-maxFilterSize"); int nullValue=pa("-nullValue"); smoothing = new MotionSensitiveTemporalSmoothing(nullValue, maxFilterSize); grabber.init(pa("-i")); update(); }
////////////////////////////////////////////////////////////////////////// // Check if given object is in frustum ////////////////////////////////////////////////////////////////////////// bool CFrustum::CheckMesh( CObject3D &mesh ) { Vector3 pos = mesh.GetWorldPosition(); if (mesh.boundingShape == EBoundingShape::Box) { Vector3 size = mesh.geometry->boundingBox.GetSize(); size.x *= mesh.scale.x; size.y *= mesh.scale.y; size.z *= mesh.scale.z; Vector3 pos = mesh.GetWorldPosition(); pos.x += (mesh.geometry->boundingBox.min.x + size.x/2) * mesh.scale.x; pos.y += (mesh.geometry->boundingBox.min.y + size.y/2) * mesh.scale.y; pos.z += (mesh.geometry->boundingBox.min.z + size.z/2) * mesh.scale.z; return CheckBox(pos.x, pos.y, pos.z, size.x, size.y, size.z); } else { float maxScale = max(max(mesh.scale.x, mesh.scale.y), mesh.scale.z); float boundingRadius = maxScale * mesh.geometry->boundingSphere; return CheckSphere(pos.x, pos.y, pos.z, boundingRadius); } }
void runGui(OrbGui &gui) { // GUI state vec2i wndSize = gui.input->getWindowSize(); // set up the default projection & modelview matrices glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, (double)wndSize.x, (double)wndSize.y, 0.0, 10.0, -10.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); ColumnLayout lyt(FixedLayout(10, 10, 200, wndSize.y), 10, 10, 10, 10, 3); Label("Ikarus").run(gui, lyt); Spacer(vec2i(0, 10)).run(gui, lyt); Label("Skeleton:").run(gui, lyt); ComboBox skelSel("skeleton-sel", WidgetID(curSkel)); for (int i = 0; i < (int)skeletons.size(); ++i) skelSel.add(WidgetID(i), skeletons[i].name); curSkel = skelSel.run(gui, lyt).getIndex(); if (Button("reload-btn", "Reload").run(gui, lyt)) skeletons.reset_at(curSkel, new SkeletonItem(skeletons[curSkel].fname, skeletons[curSkel].name)); SkeletonItem &skel = skeletons[curSkel]; Spacer(vec2i(0, 10)).run(gui, lyt); if (Button("reset-btn", "Reset Pose").run(gui, lyt)) { skel.solver->resetPose(); skel.targetPos = skel.solver->getEffectorPos(); targetSpeed = 0.0; } if (Button("reset-all-btn", "Reset All").run(gui, lyt)) { skel.solver->resetAll(); skel.targetPos = skel.solver->getEffectorPos(); targetSpeed = 0.0; } // the grid is always shown // (no point turning it off really) //showGrid = CheckBox("show-grid-chk", "Show grid", showGrid).run(gui, lyt); showJointBasis = CheckBox("show-joint-basis-chk", "Show joint basis vectors", showJointBasis).run(gui, lyt); showConstraints = CheckBox("show-constraints-chk", "Show joint constraints", showConstraints).run(gui, lyt); ikMode = CheckBox("ik-mode-chk", "IK Mode", ikMode).run(gui, lyt); ikEnabled = CheckBox("ik-enabled-chk", "IK Enabled", ikEnabled, ikMode).run(gui, lyt); bool constraintsOn = CheckBox("ik-constrained-chk", "Enable Constraints", skel.solver->areConstraintsEnabled(), ikMode).run(gui, lyt); skel.solver->enableConstraints(constraintsOn); if (Button("solve-btn", "Solve", ikMode && !ikEnabled).run(gui, lyt)) skel.solver->solveIk(30); if (Button("step-btn", "Step IK", ikMode && !ikEnabled).run(gui, lyt)) skel.solver->iterateIk(); if (Button("constraint-btn", "Apply Constraints", ikMode).run(gui, lyt)) { skel.solver->applyAllConstraints(); skel.targetPos = skel.solver->getEffectorPos(); targetSpeed = 0.0; } Label("Root bone:").run(gui, lyt); ComboBox rootSel("root-sel", WidgetID(&skel.solver->getRootBone())); for (int i = 0; i < skel.skeleton.numBones(); ++i) { const Bone &b = skel.skeleton[i]; if (! b.isEffector()) rootSel.add(WidgetID(&b), b.name); } const Bone *newRootBone = rootSel.run(gui, lyt).getData<const Bone>(); skel.solver->setRootBone(*newRootBone); Label("Effector:").run(gui, lyt); ComboBox effectorSel("effector-sel", WidgetID(&skel.solver->getEffector())); for (int i = 0; i < skel.skeleton.numBones(); ++i) { const Bone &b = skel.skeleton[i]; if (b.isEffector()) effectorSel.add(WidgetID(&b), b.name); } const Bone *newEffector = effectorSel.run(gui, lyt).getData<const Bone>(); if (newEffector != &skel.solver->getEffector()) { skel.solver->setEffector(*newEffector); skel.solver->setTargetPos(skel.solver->getEffectorPos()); skel.targetPos = skel.solver->getEffectorPos(); } int leftRightSplit = 250; int topBottomSplit = wndSize.y - 200; int a = leftRightSplit + (wndSize.x - leftRightSplit) / 3; int b = leftRightSplit + ((wndSize.x - leftRightSplit)*2) / 3; FixedLayout mainViewLyt(leftRightSplit, 0, wndSize.x - leftRightSplit, topBottomSplit); FixedLayout ortho0Lyt(leftRightSplit, topBottomSplit, a - leftRightSplit, wndSize.y - topBottomSplit); FixedLayout ortho1Lyt(a, topBottomSplit, b - a, wndSize.y - topBottomSplit); FixedLayout ortho2Lyt(b, topBottomSplit, wndSize.x - b, wndSize.y - topBottomSplit); if (ikMode) { IkSolverDisplay("displayP", &camPerspective, skel.solver.get(), showJointBasis, showConstraints, showGrid ? gridList : 0).run(gui, mainViewLyt); IkSolverDisplay("displayX", &camX, skel.solver.get(), showJointBasis, showConstraints).run(gui, ortho0Lyt); IkSolverDisplay("displayY", &camY, skel.solver.get(), showJointBasis, showConstraints).run(gui, ortho1Lyt); IkSolverDisplay("displayZ", &camZ, skel.solver.get(), showJointBasis, showConstraints).run(gui, ortho2Lyt); } else { SkeletonDisplay("displayP", &camPerspective, &skel.skeleton, showJointBasis, showConstraints, showGrid ? gridList : 0).run(gui, mainViewLyt); SkeletonDisplay("displayX", &camX, &skel.skeleton, showJointBasis, showConstraints).run(gui, ortho0Lyt); SkeletonDisplay("displayY", &camY, &skel.skeleton, showJointBasis, showConstraints).run(gui, ortho1Lyt); SkeletonDisplay("displayZ", &camZ, &skel.skeleton, showJointBasis, showConstraints).run(gui, ortho2Lyt); } }
/*---------------------------------------------------------*/ GrouP LIBCALL DisplayControls(Nlm_GrouP prnt) { GrouP g, h; PrompT ppt1, /*ppt2,*/ ppt3, ppt4; g = HiddenGroup(prnt, -1, 0, NULL); if (!g) return NULL; SetGroupSpacing(g, 3, 9); #ifdef WIN_MOTIF SetGroupMargins(g, 4, 1); SetGroupSpacing(g, 2, 1); #else SetGroupMargins(g, 1, 1); SetGroupSpacing(g, 0, 0); #endif StaticPrompt(g, "", 0, stdLineHeight, systemFont, 'l'); StaticPrompt(g, "", 0, stdLineHeight, systemFont, 'l'); h = HiddenGroup(g, 0, -4, NULL); SetGroupSpacing(h, 30, 10); ppt1 = StaticPrompt(h, "Molecule", 0, stdLineHeight + 5, systemFont, 'c'); Cn3D_lStruc = MultiList(h, 6, 10, FillFeatureListProc); StaticPrompt(h, "", 0, stdLineHeight, systemFont, 'l'); StaticPrompt(h, "", 0, stdLineHeight, systemFont, 'l'); AlignObjects(ALIGN_LEFT, (HANDLE) ppt1, (HANDLE) Cn3D_lStruc, NULL); ppt3 = StaticPrompt(h, "Domain", 0, stdLineHeight + 5, systemFont, 'c'); Cn3D_bDisplayAlignedDomain = CheckBox(h, "Aligned Domain Only", Cn3D_ListAlignedDomainProc); Cn3D_lFeature = MultiList(h, 6, 8, Cn3D_SelectDomainProc); StaticPrompt(h, "", 0, stdLineHeight, systemFont, 'l'); AlignObjects(ALIGN_LEFT, (HANDLE) ppt3, (HANDLE) Cn3D_lFeature, NULL); ppt4 = StaticPrompt(h, "Residue", 0, stdLineHeight + 5, systemFont, 'c'); Cn3D_bAlignOn = CheckBox(h, "Aligned", NULL); Cn3D_bUnalignOn = CheckBox(h, "Unaligned", NULL); Cn3D_bDisplayHighlight = CheckBox(h, "Show Selected Only", NULL); AlignObjects(ALIGN_LEFT, (HANDLE) ppt4, (HANDLE) Cn3D_bDisplayHighlight, NULL); SetStatus(Cn3D_bDisplayHighlight, FALSE); SetStatus(Cn3D_bAlignOn, Cn3D_fAlignOn); SetStatus(Cn3D_bUnalignOn, Cn3D_fUnalignOn); Cn3D_altConfIdOverlay = CheckBox(g, "Overlay uncorrelated conformer ensembles", NULL); AlignObjects(ALIGN_CENTER, (HANDLE) Cn3D_altConfIdOverlay, (HANDLE) g, NULL); SetStatus(Cn3D_altConfIdOverlay, TRUE); StaticPrompt(g, "", 0, stdLineHeight + 5, systemFont, 'c'); Cn3D_bDisplayApply = PushButton(g, "Apply!", Cn3D_DisplayProc); AlignObjects(ALIGN_CENTER, (HANDLE) Cn3D_bDisplayApply, (HANDLE) h, NULL); ResetDisplayCtrls(); return g; }
extern void CreateAddSpecialDialog ( GrouP prnt, SscTablesPtr stp ) { Char buf [64]; GrouP g, h, m, p; MiscRatePtr mrp; SscSpecPtr ssp; Char str [16]; if (stp == NULL) return; mrp = stp->miscrate_table; if (mrp == NULL) return; ssp = (SscSpecPtr) MemNew (sizeof (SscSpec)); if (ssp == NULL) return; p = HiddenGroup (prnt, -1, 0, NULL); SetGroupSpacing (p, 10, 10); SetObjectExtra (p, ssp, StdCleanupExtraProc); ssp->dialog = (DialoG) p; ssp->tables = stp; ssp->whichspec = HiddenGroup (p, 5, 0, ChangeSpecType); SetObjectExtra (ssp->whichspec, ssp, NULL); RadioButton (ssp->whichspec, "Visiting"); RadioButton (ssp->whichspec, "Affiliated"); RadioButton (ssp->whichspec, "Transient"); ssp->namegroup = HiddenGroup (p, 15, 0, NULL); SetGroupSpacing (ssp->namegroup, 5, 3); StaticPrompt (ssp->namegroup, "Name", 0, dialogTextHeight, programFont, 'l'); ssp->name = DialogText (ssp->namegroup, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 0, ChangeSpecName); SetObjectExtra (ssp->name, (Pointer) ssp, NULL); SetTitle (ssp->name, ""); Hide (ssp->namegroup); h = HiddenGroup (p, 0, 0, NULL); SetGroupMargins (h, 10, 10); g = HiddenGroup (h, -1, 0, NULL); Hide (g); ssp->controls [EMPTY_PAGE] = g; g = HiddenGroup (h, -1, 0, NULL); if (PrintWholeDollar (mrp->visiting_fee, str)) { sprintf (buf, "Charge $%s Visiting Fee", str); } else { sprintf (buf, "Charge Visiting Fee"); } ssp->visitfee = CheckBox (g, buf, NULL); SetStatus (ssp->visitfee, TRUE); Hide (g); ssp->controls [ADD_VISIT_PAGE] = g; g = HiddenGroup (h, -1, 0, NULL); if (PrintWholeDollar (mrp->affiliated_fee, str)) { sprintf (buf, "Charge $%s Affiliated Fee", str); } else { sprintf (buf, "Charge Affiliated Fee"); } ssp->affilfee = CheckBox (g, buf, NULL); SetStatus (ssp->visitfee, TRUE); Hide (g); ssp->controls [ADD_AFFIL_PAGE] = g; g = HiddenGroup (h, -1, 0, NULL); SetGroupSpacing (g, 10, 10); m = HiddenGroup (g, 1, 0, NULL); SetGroupSpacing (m, 5, 3); ProrateDollarAmount (mrp->transient_fee, 1, FALSE, stp, &(ssp->proratedtrans)); if (PrintWholeDollar (&(ssp->proratedtrans), str)) { sprintf (buf, "Charge $%s Transient Dues", str); } else { sprintf (buf, "Charge Transient Dues"); } ssp->transfee = CheckBox (m, buf, NULL); SetStatus (ssp->transfee, TRUE); ProrateDollarAmount (mrp->ssa_regular, 5, TRUE, stp, &(ssp->proratedssa)); if (PrintWholeDollar (&(ssp->proratedssa), str)) { sprintf (buf, "Charge $%s SSA Dues (Prorated May-Apr)", str); } else { sprintf (buf, "Charge SSA Dues"); } ssp->transssa = CheckBox (m, buf, NULL); SetStatus (ssp->transssa, TRUE); ssp->jobs = CreateClubJobsDialog (g); AlignObjects (ALIGN_CENTER, (HANDLE) m, (HANDLE) ssp->jobs, NULL); Hide (g); ssp->controls [ADD_TRANS_FEE] = g; ssp->addspec = PushButton (p, "Add Special Member", AddSpecMember); SetObjectExtra (ssp->addspec, (Pointer) ssp, NULL); Disable (ssp->addspec); ssp->currPage = 0; AlignObjects (ALIGN_CENTER, (HANDLE) ssp->whichspec, (HANDLE) ssp->namegroup, (HANDLE) ssp->controls [EMPTY_PAGE], (HANDLE) ssp->controls [ADD_VISIT_PAGE], (HANDLE) ssp->controls [ADD_AFFIL_PAGE], (HANDLE) ssp->controls [ADD_TRANS_FEE], (HANDLE) ssp->addspec, NULL); }
GrouP /*FCN*/Nlm_CreateDlgGroup ( GrouP gTop ){ GrouP g, glr, g1, g2; Handle toAlign[3]; g = HiddenGroup ( gTop, 2, 1, NULL); SetGroupSpacing ( g, 1, 1 ); glr = NormalGroup ( g, 1, 2, "Groups:", systemFont, NULL ); #ifdef WIN_MOTIF SetGroupSpacing ( glr, 12, 12 ); SetGroupMargins ( glr, 8, 8 ); #else SetGroupSpacing ( glr, 6, 6 ); SetGroupMargins ( glr, 6, 6 ); #endif g1 = HiddenGroup ( glr, 2, 1, NULL ); g2 = HiddenGroup ( g1, 1, 0, NULL ); PushButton ( g2, "Top", OnGroupTop ); PushButton ( g2, "Bottom", OnGroupBottom ); groupHideButton = PushButton ( g2, "Hide", OnGroupHide ); groupCompBox = CheckBox ( g2, "Compress", OnGroupCompress ); groupDelButton = PushButton ( g2, "Delete", OnGroupDelete ); groupList = SingleList ( g1, 10, 8, OnGroupList ); curGroupInd = 0; LoadGroupArray(); g2 = HiddenGroup ( glr, 3, 0, NULL ); toAlign[2] = (Handle)PushButton ( g2, "Create", OnGroupNew ); toAlign[0] = (Handle)StaticPrompt ( g2, "Group", 0, 0, systemFont, 'l'); #ifdef WIN_MOTIF groupDialog = DialogText ( g2, "", 7, OnText16 ); #else groupDialog = DialogText ( g2, "", 9, OnText16 ); #endif toAlign[1] = (Handle)groupDialog; AlignObjects ( ALIGN_CENTER, (HANDLE)g1, (HANDLE)g2, NULL ); featGroup = glr = NormalGroup ( g, 1, 2, "Features:", systemFont, NULL ); #ifdef WIN_MOTIF SetGroupSpacing ( glr, 12, 12 ); SetGroupMargins ( glr, 8, 8 ); #else SetGroupSpacing ( glr, 6, 6 ); SetGroupMargins ( glr, 6, 6 ); #endif g1 = HiddenGroup ( glr, 2, 1, NULL ); featList = SingleList ( g1, 10, 8, OnFeatureList ); LoadFeatureArray(); FillFeatList( FALSE ); if ( totalFeatures == 0 ){ curFeatureInd = -1; } else { curFeatureInd = 0; SetValue ( featList, 1 ); } g2 = HiddenGroup ( g1, 1, 0, NULL ); PushButton ( g2, "Top", OnFeatTop ); PushButton ( g2, " Bottom ", OnFeatBottom ); featHideButton = PushButton ( g2, "Hide", OnFeatHide ); g2 = HiddenGroup ( glr, 3, 0, NULL ); #ifdef WIN_MOTIF SetGroupMargins ( g2, 8, 8 ); #endif toAlign[0] = (Handle)PushButton ( g2, "Move", OnFeatMove ); toAlign[1] = (Handle)StaticPrompt ( g2, "To", 0, 0, systemFont, 'l'); featPopup = PopupList ( g2, FALSE, NULL ); toAlign[2] = (Handle)featPopup; FillGroupList(FALSE); SetGroupValue (curGroupInd); FillFeatPopup(FALSE); UpdateDlgControls (); return g; }
LevelEditorToolBar::LevelEditorToolBar() { System::Windows::Controls::Image^ image; // Кисть объектов System::Windows::Controls::RadioButton^ mBrushToolBtn = gcnew RadioButton(); image = gcnew System::Windows::Controls::Image(); image->Source = ResourceHelper::GetPngSource("Brush.png"); image->Width = 24; image->Height = 24; mBrushToolBtn->Content = image; mBrushToolBtn->Command = LevelEditorWindow::SelectEntityBrush; mBrushToolBtn->ToolTip = "Entity brush"; // Добавить слой System::Windows::Controls::Button^ mAddLayerBtn = gcnew Button(); image = gcnew System::Windows::Controls::Image(); image->Source = ResourceHelper::GetPngSource("AddLayer.png"); image->Width = 24; image->Height = 24; mAddLayerBtn->Content = image; mAddLayerBtn->Command = LevelEditorWindow::AddLayerCommand; mAddLayerBtn->ToolTip = "Add layer"; // Включить сетку System::Windows::Controls::CheckBox^ mActivateGridBtn = gcnew CheckBox(); image = gcnew System::Windows::Controls::Image(); image->Source = ResourceHelper::GetPngSource("Grid.png"); image->Width = 24; image->Height = 24; mActivateGridBtn->Content = image; mActivateGridBtn->Command = LevelEditorCommands::ActivateGrid; mActivateGridBtn->ToolTip = "Snap to grid"; // Выбор объектов System::Windows::Controls::RadioButton^ mSelectorBtn = gcnew RadioButton(); image = gcnew System::Windows::Controls::Image(); image->Source = ResourceHelper::GetPngSource("Select.png"); image->Width = 24; image->Height = 24; mSelectorBtn->Content = image; mSelectorBtn->Command = LevelEditorCommands::SelectObjectsSelector; mSelectorBtn->ToolTip = "Select entity"; // Включение физики CheckBox^ mTurnPhisics = gcnew CheckBox(); image = gcnew System::Windows::Controls::Image(); image->Source = ResourceHelper::GetPngSource("Physics.png"); image->Width = 24; image->Height = 24; mTurnPhisics->Content = image; mTurnPhisics->Command = LevelEditorCommands::ActivatePhisics; mTurnPhisics->ToolTip = "Physics"; CheckBox^ mDrawPhisics = gcnew CheckBox(); image = gcnew System::Windows::Controls::Image(); image->Source = ResourceHelper::GetPngSource("Shapes.png"); image->Width = 24; image->Height = 24; mDrawPhisics->Content = image; mDrawPhisics->Command = LevelEditorCommands::DrawPhisics; mDrawPhisics->ToolTip = "Draw physics"; // Добавляем кнопки AddChild(mBrushToolBtn); AddChild(mSelectorBtn); AddChild(mAddLayerBtn); AddChild(mActivateGridBtn); AddChild(mTurnPhisics); AddChild(mDrawPhisics); }
/*-----------------------------------------------------------------------* | <<< メニュー描画&判定 >>> | 入力 p = 描画座標 | HInterval = 縦の配置 *------------------------------------------------------------------------*/ void MenuMain(VEC2 *p, float fHInterval) { if(iIntervalTime == 0 && bMenuOk){ return;} //--- メニューの項目を描画 ---------------------------------- d3_stat_zread_set( false); // 重なりを無視する d3_stat_zwrite_set(false); d3_stat_alpha_set( true); // 透明オン d3_stat_filter_set(D3_FILTER_LINEAR); // ぼかし処理 //--- カーソル処理 ------------------------------------------ if(pad.bKeyClick[KEY_UP]) { iMenuSel--; if(iMenuSel < 0){ iMenuSel = iMenuMax -1;} } if(pad.bKeyClick[KEY_DOWN]) { iMenuSel++; if(iMenuSel >= iMenuMax){ iMenuSel = 0;} } //--- マウスを動かしたらどこを指しているかの変数をリセッする -- if((pad.sMoveX || pad.sMoveY) && iIntervalTime == 0) { iMenuSel = -1; } // p0 を左上座標とする VEC2 p0 = *p; for(int i = 0; i < iMenuMax; i++) { //--- 描画スイッチ ------------------------------------------ bool bDraw = false; if(iIntervalTime == 0 // iIntervaltime が 0の時はメニュー未選択の時 ||(iIntervalTime % 20) > 5 && iMenuSel == i) { bDraw = true; } //--- 枠 ----------------------------------------------------- int iTex = TEX_MENU_FRAME0; // 枠のテクスチャー番号 D3_INFO *info = &d3.texInfo[iTex]; // p0 は右下座標 ↓オリジナル画像のサイズを得ている VEC2 p1 = p0 + VEC2(info->fOriWidth, info->fOriHeight); // マウスとの当たり判定 //if(CheckBox(&p0, &p1)) if((pad.sMoveX || pad.sMoveY) && CheckBox(&p0, &p1) || iMenuSel == i) { d3_tex_set(iTex + 1); if(iIntervalTime == 0){ iMenuSel = i;} } else { d3_tex_set(iTex); } // 描画 if(bDraw){ d3_2d_box_fill_tex_draw(&p0, &p1, 0, 0, info->fU, info->fV, D3_COL(255, 255, 255, 255));} //--- メニューの文字を描画 ---------------------------------------------- info = &d3.texInfo[TEX_MENU0]; #if CENTER_ == 1 float fX = (__SCR_W - info->fWidth / 4) / 2; #else float fX = p0.x; #endif d3_tex_set( TEX_MENU0 + i); if(bDraw){ d3_2d_box_fill_tex_draw(&VEC2(fX, p0.y),&VEC2(fX + info->fWidth / 2, p0.y + info->fHeight / 2));} //--- 改行 -------------------------------------------------------------- p0.y += fHInterval; } //--- キャンセル時には -2、それ以外は指定の値を返す --------------------------- if((pad.bRightClick || pad.bKeyClick[KEY_X]) && bMenuCancelEnable) { iMenuMax =0; bMenuCancel = true; iMenuSel = -2; } else if((pad.bLeftClick || pad.bKeyClick[KEY_Z]) && iMenuSel >= 0) { iIntervalTime = INTERVAL_TIME_; } //--- 点滅処理 ---------------------------------------------- if(iIntervalTime > 0) { iIntervalTime--; if(iIntervalTime == 0) { iMenuMax = 0; bMenuOk = true; } } //--- 終了処理 --------------------------------------------------------------- d3_stat_zread_set( true); // 重なりを有効にする d3_stat_zwrite_set(true); }
void init(){ // scene.getLight(0).setOn(false); scene.getLight(0).setDiffuse(GeomColor(255,255,255,50)); SceneLight &l = scene.getLight(1); static Camera cam(Vec(0,0,600,1), Vec(0,0,-1,1), Vec(0,-1,0,1)); cam.setResolution(Size(1024,1024)); scene.setGravity(Vec(0,0,-1000)); l.setShadowCam(new Camera(cam)); l.setShadowEnabled(true); l.setAnchorToWorld(); l.setPosition(Vec(0,0,600,1)); l.setOn(true); l.setSpecularEnabled(true); l.setDiffuseEnabled(true); l.setSpecular(GeomColor(0,100,255,255)); l.setDiffuse(GeomColor(255,100,0,30)); scene.setPropertyValue("shadows.use improved shading",true); scene.setPropertyValue("shadows.resolution",2048); scene.setPropertyValue("shadows.bias",10); //static const int W=20,H=13,DIM=W*H; static const int W=pa("-paper-dim",0), H=pa("-paper-dim",1); static Img8u frontFace = load<icl8u>(*pa("-ff")); static Img8u backFace = load<icl8u>(*pa("-bf")); const Size s(210,297); const Vec corners[4] = { Vec(-s.width/2, -s.height/2, 150,1), Vec(s.width/2, -s.height/2, 150,1), Vec(s.width/2, s.height/2, 150,1), Vec(-s.width/2, s.height/2, 150,1), }; paper = new ManipulatablePaper(&scene,&scene,W,H,corners,true,&frontFace,&backFace); //scene.removeObject(paper); //paper->addShadow(-74.5); if(pa("-o")){ std::vector<Camera> cams; for(int i=0;i<3;++i){ cams.push_back(Camera(*pa("-c",i))); } capturer = new SceneMultiCamCapturer(scene, cams); // Scene::enableSharedOffscreenRendering(); scene.setDrawCamerasEnabled(false); } gui << Draw3D(Size::VGA).minSize(32,24).handle("draw") << (VBox().maxSize(12,100).minSize(12,1) << ( HBox() << Fps(10).handle("fps") << Button("add clutter").handle("add") ) << ( HBox() << Button("stopped","running",true).out("run") << Button("paper ...").handle("props") ) << ( HBox() << CheckBox("show cubes").out("showCubes") << CheckBox("show texture",false).out("showTexture") << CheckBox("show links",false).out("showLinks") ) << FSlider(0,1,0.5).out("vertexMoveFactor").label("manual force") << FSlider(1,100,10).out("attractorStreangth").label("attractor force") << FSlider(0.0001,0.9999,0.9).handle("globalStiffness").label("global paper stiffness") << ( HBox() << Button("reset paper").handle("resetPaper") << Combo("1,5,10,25,!200,300,500").handle("maxFPS").label("max FPS") ) << FSlider(0.1,20,2).handle("cm").label("collision margin") << ( HBox() << Button("memorize").handle("mem") << CheckBox("soften with mouse",true).handle("soften") << Button("test").handle("pct") ) ) << Show(); propGUI << Prop("paper").minSize(16,1).maxSize(16,100) << Create(); gui["pct"].registerCallback(paper_coords_test); gui["props"].registerCallback(utils::function((GUI&)propGUI,&GUI::switchVisibility)); gui["resetPaper"].registerCallback(reset_paper); gui["globalStiffness"].registerCallback(change_global_stiffness); scene.PhysicsWorld::addObject(&ground); scene.Scene::addObject(&groundVis); DrawHandle3D draw = gui["draw"]; draw->install(paper->createMouseHandler(0)); draw->install(&foldLine); draw->link(scene.getGLCallback(0)); foldLine.cb = utils::function(fold_line_cb); }
extern void ShowNetConfigForm (WndActnProc activate, FormMessageFunc messages, VoidProc accepted, VoidProc cancelled, VoidProc turnedOff, Boolean netCurrentlyOn) { ButtoN b; GrouP c; GrouP g; GrouP h; GrouP j; Int2 len; NetConfigPtr ncp; PrompT ppt0, ppt1; ButtoN rb; Char str [256]; WindoW w; GrouP x; GrouP z; w = NULL; ncp = (NetConfigPtr) MemNew (sizeof (NetConfigData)); if (ncp != NULL) { w = FixedWindow (-50, -33, -10, -10, "Network Configuration", StdSendCloseWindowMessageProc); SetObjectExtra (w, ncp, StdCleanupFormProc); ncp->form = (ForM) w; ncp->formmessage = ConfigMessageProc; ncp->appmessage = messages; ncp->activate = activate; SetActivate (w, ConfigFormActivate); ncp->accepted = accepted; ncp->cancelled = cancelled; ncp->turnedOff = turnedOff; h = HiddenGroup (w, -1, 0, NULL); SetGroupSpacing (h, 5, 10); j = HiddenGroup (h, 2, 0, NULL); ppt0 = StaticPrompt (j, "Connection", 0, 0, programFont, 'l'); ncp->srvConnMode = HiddenGroup (j, 4, 0, ChangeConnection); SetObjectExtra (ncp->srvConnMode, ncp, NULL); rb = RadioButton (ncp->srvConnMode, "None"); RadioButton (ncp->srvConnMode, "Normal"); RadioButton (ncp->srvConnMode, "Firewall"); /* RadioButton (ncp->srvConnMode, "Stateless"); */ SetValue (ncp->srvConnMode, 2); if (turnedOff == NULL) { Disable (rb); } AlignObjects (ALIGN_MIDDLE, (HANDLE) ppt0, (HANDLE) ncp->srvConnMode, NULL); ncp->netGroup = HiddenGroup (h, -1, 0, NULL); SetGroupSpacing (ncp->netGroup, 5, 10); SelectFont (programFont); len = StringWidth ("HTTP Proxy Server ") + 2; SelectFont (systemFont); z = HiddenGroup (ncp->netGroup, -2, 0, NULL); StaticPrompt (z, "HTTP Proxy Server", len, dialogTextHeight, programFont, 'l'); ncp->proxyHost = DialogText (z, "", 12, ChangeProxy); SetObjectExtra (ncp->proxyHost, ncp, NULL); /* StaticPrompt (z, "", 0, 0, programFont, 'l'); StaticPrompt (z, "", 0, 0, programFont, 'l'); */ ppt0 = StaticPrompt (z, "HTTP Proxy Port ", len, dialogTextHeight, programFont, 'l'); ncp->proxyPort = DialogText (z, "", 3, NULL); x = MultiLinePrompt (z, "Non-transparent Proxy Server", len, programFont); ncp->firewallProxy = DialogText (z, "", 12, NULL); AlignObjects (ALIGN_MIDDLE, (HANDLE) x, (HANDLE) ncp->firewallProxy, NULL); /* AlignObjects (ALIGN_MIDDLE, (HANDLE) ppt0, (HANDLE) ncp->proxyPort, (HANDLE) ncp->firewallProxy, NULL); */ AlignObjects (ALIGN_RIGHT, (HANDLE) ncp->proxyHost, (HANDLE) ncp->firewallProxy, NULL); AlignObjects (ALIGN_LEFT, (HANDLE) ncp->proxyHost, (HANDLE) ncp->firewallProxy, NULL); g = HiddenGroup (ncp->netGroup, 5, 0, NULL); /* ppt0 = StaticPrompt (g, "Domain name server", 0, 0, programFont, 'l'); ncp->dnsAvailable = CheckBox (g, "Available", NULL); */ ncp->dnsAvailable = CheckBox (g, "Domain Name Server", NULL); SetStatus (ncp->dnsAvailable, TRUE); /* StaticPrompt (g, " ", 0, 0, programFont, 'l'); */ ppt1 = StaticPrompt (g, "Timeout", 0, popupMenuHeight, programFont, 'l'); ncp->timeOut = PopupList (g, TRUE, NULL); PopupItem (ncp->timeOut, "10 seconds"); PopupItem (ncp->timeOut, "30 seconds"); PopupItem (ncp->timeOut, "60 seconds"); PopupItem (ncp->timeOut, " 5 minutes"); SetValue (ncp->timeOut, 2); AlignObjects (ALIGN_MIDDLE, /* (HANDLE) ppt0, */ (HANDLE) ncp->dnsAvailable, (HANDLE) ppt1, (HANDLE) ncp->timeOut, NULL); c = HiddenGroup (w, 4, 0, NULL); SetGroupSpacing (c, 10, 2); ncp->accept = PushButton (c, "Accept", AcceptNetConfigForm); SetObjectExtra (ncp->accept, ncp, NULL); b = PushButton (c, "Cancel", StdSendCancelButtonMessageProc); SetObjectExtra (b, ncp, NULL); /* AlignObjects (ALIGN_CENTER, (HANDLE) h, (HANDLE) c, NULL); */ AlignObjects (ALIGN_CENTER, (HANDLE) j, (HANDLE) z, (HANDLE) g, (HANDLE) c, NULL); RealizeWindow (w); if (! netCurrentlyOn) { SafeSetValue (ncp->srvConnMode, 1); Hide (ncp->netGroup); } else if (GetAppParam ("NCBI", "CONN", "FIREWALL", NULL, str, sizeof (str))) { if (StringICmp (str, "TRUE") == 0) { SafeSetValue (ncp->srvConnMode, 3); } } if (GetAppParam ("NCBI", "CONN", "HTTP_PROXY_HOST", NULL, str, sizeof (str))) { if (! StringHasNoText (str)) { SafeSetTitle (ncp->proxyHost, str); if (GetValue (ncp->srvConnMode) == 2) { SafeSetValue (ncp->srvConnMode, 3); } } } if (GetAppParam ("NCBI", "CONN", "HTTP_PROXY_PORT", NULL, str, sizeof (str))) { if (! StringHasNoText (str)) { SafeSetTitle (ncp->proxyPort, str); } } if (GetAppParam ("NCBI", "CONN", "PROXY_HOST", NULL, str, sizeof (str))) { if (! StringHasNoText (str)) { SafeSetTitle (ncp->firewallProxy, str); } } if (GetAppParam ("NCBI", "CONN", "HOST", NULL, str, sizeof (str))) { if (StringICmp (str, "130.14.29.110") == 0) { SafeSetStatus (ncp->dnsAvailable, FALSE); } } if (GetAppParam ("NCBI", "CONN", "TIMEOUT", "30", str, sizeof (str))) { if (StringICmp (str, "10") == 0) { SafeSetValue (ncp->timeOut, 1); } else if (StringICmp (str, "60") == 0) { SafeSetValue (ncp->timeOut, 3); } else if (StringICmp (str, "300") == 0) { SafeSetValue (ncp->timeOut, 4); } else { SafeSetValue (ncp->timeOut, 2); } } ChangeConfigControls (ncp); Show (w); Select (w); Select (ncp->proxyHost); } }
static void Cn3D_ExportKin(IteM i) { PDNMS pdnmsThis = NULL; PMSD pmsdThis = NULL; Char pcSavestr[60]; Char pcSavename[32]; CharPtr Cn3D_pcKinName; GrouP g, g2, g3, g4; GrouP gMS; ButtoN b; Int2 iCount; if (Cn3D_Export_InUse) return; else Cn3D_Export_InUse = TRUE; pdnmsThis = GetSelectedModelstruc(); if (!pdnmsThis) { Cn3D_Export_InUse = FALSE; return; } pmsdThis = (PMSD) pdnmsThis->data.ptrvalue; Cn3D_wKinSave = ModalWindow(-20, -13, -10, -10, NULL); /* set up a group encolosing structures - models selection lists and - "info strings" */ Cn3D_pcKinName = StringSave(GetStrucStrings(pdnmsThis, PDB_ACC)); sprintf(pcSavestr, "Save %s As a Kinemage Rendered File ...", Cn3D_pcKinName); g = HiddenGroup(Cn3D_wKinSave, 0, 5, NULL); SetGroupMargins(g, 10, 10); SetGroupSpacing(g, 10, 5); StaticPrompt(g, pcSavestr, 0, 0, systemFont, 'l'); g2 = HiddenGroup(g, 2, 0, NULL); SetGroupMargins(g2, 10, 10); SetGroupSpacing(g2, 10, 5); StringNCpy(pcSavename, Cn3D_pcKinName, 8); StringCat(pcSavename, ".kin"); Cn3D_tKinSave = DialogText(g2, pcSavename, 18, (TxtActnProc) Cn3D_KinEnableProc); MemFree(Cn3D_pcKinName); Cn3D_bKinBrowse = PushButton(g2, " browse...", (BtnActnProc) Cn3D_KinBrowseProc); g3 = HiddenGroup(g, 2, 0, NULL); gMS = Cn3D_ModelSelect(g3, FALSE); /* no vector models for Kin files saves */ g4 = HiddenGroup(g3, 0, 2, NULL); SetGroupMargins(g4, 10, 10); SetGroupSpacing(g4, 10, 5); Cn3D_bKinOk = PushButton(g4, "OK", Cn3D_ExportKinNow); b = PushButton(g4, "Cancel", Cn3D_CancelKin); Cn3D_gColorAtoms = NormalGroup(g, 2, 2, " color by...", systemFont, NULL); SetGroupMargins(Cn3D_gColorAtoms, 10, 10); SetGroupSpacing(Cn3D_gColorAtoms, 10, 5); RadioButton(Cn3D_gColorAtoms, "Molecule number"); RadioButton(Cn3D_gColorAtoms, "Secondary Structure & Residue Type"); RadioButton(Cn3D_gColorAtoms, "Thermal Factors"); RadioButton(Cn3D_gColorAtoms, "Element"); SetValue(Cn3D_gColorAtoms, 1); Cn3D_gRenderOpts = NormalGroup(g, 2, 3, " viewable subsets...", systemFont, NULL); Cn3D_bRender[0] = CheckBox(Cn3D_gRenderOpts, "Virtual Backbone", NULL); Cn3D_bRender[1] = CheckBox(Cn3D_gRenderOpts, "Real Backbone", NULL); Cn3D_bRender[2] = CheckBox(Cn3D_gRenderOpts, "Residues", NULL); Cn3D_bRender[3] = CheckBox(Cn3D_gRenderOpts, "Heterogens", NULL); Cn3D_bRender[4] = CheckBox(Cn3D_gRenderOpts, "Alternate Conformations", NULL); Cn3D_bRender[5] = CheckBox(Cn3D_gRenderOpts, "NMR Animations", NULL); for (iCount = 0; iCount < 6; iCount++) SetStatus(Cn3D_bRender[iCount], TRUE); Cn3D_KinEnableProc(NULL); Select(Cn3D_bKinOk); /* disable appropriate stuff here */ Cn3D_DisableFileOps(); Show(Cn3D_wKinSave); return; }