diff --git a/APPL/CAD/default.asp b/APPL/CAD/default.asp index 24580bbcb5..ef4b203d05 100644 --- a/APPL/CAD/default.asp +++ b/APPL/CAD/default.asp @@ -6,7 +6,7 @@ File: CAD/default.asp Description: Hoofdscherm voor Facilitor Graphics II Parameters: - mode optional: [MODE_IN] or [MODE_OUT]. Default via fg_startBuiten + mode optional: default 0=binnen[MODE_IN], 1=buiten[MODE_OUT]. loc_key optional locatie key (default eigen werkplek) scenario_key optional: dan zitten we in PRJ-mode (en impliciet binnen) floor_key optional (als in scenario_mode) @@ -26,7 +26,7 @@ FCLTHeader.Requires({ js: ["jquery-ui.js", "./main.js", "./draganddrop.js", "dat css: ["../slnkdwf/slnkdwf.css"] }); -var inoutMode = getQParamInt("mode", S("fg_startBuiten")? MODE_OUT : MODE_IN); +var inoutMode = getQParamInt("mode", MODE_IN); var loc_key = getQParamInt("loc_key", user.alg_locatie_key()); var scenario_key = getQParamInt("scenario_key", 0); // current scenario, 0 voor geen var concept = getQParamInt("concept", 0) == 1; // concept er naast? @@ -115,7 +115,7 @@ if (scenario_key != 0) { <% if (scenario_key == 0) { %> - $("#rooms").load("../Shared/loadRuimteOptions.asp?floor_key=" + floor_key + "&ruimte_key=" + forceRoom, myRefresh); + $("#rooms").load("../cad/loadRuimteOptions.asp?floor_key=" + floor_key + "&ruimte_key=" + forceRoom, myRefresh); <% } else { %> @@ -243,26 +243,15 @@ if (scenario_key != 0) } } - // Gets called by Shared/load_rooms.asp when rooms-listbox has been - // dynamically filled with all rooms on the current floor - function onRoomsLoaded() - { - myRefresh(); // Gaf stack overflow in IE7? Niet meer nodig sinds TUDE#12139 te grote rooms list - } - /************************************************************\ * \************************************************************/ function MMap_onIMGRefresh() { - $('#MinMaxBtn').hide(); // Zodat busy.gif zichtbaar } function MMap_onMapperLoad(pSLNKEvent) { - var ob = $('#MinMaxBtn').show(); // Zodat weer zichtbaar - ob.css('left', ($("#mapCell").offset().left + $("#mapCell").width() - ob.outerWidth() -2) + "px"); - ob.css('top', ($("#mapCell").offset().top + 32) + "px"); <% if (concept) { %> if (pSLNKEvent.success) @@ -352,12 +341,12 @@ if (scenario_key != 0) { if (typeof angle == "undefined") { - angle = prompt('Geef hoek (0-359)', '0'); + angle = prompt(L("lcl_cad_enterangle"), '0'); // default de huidige rotatie is vriendelijker dan 0, maar niet zomaar bekend if (angle && !isNaN(parseInt(angle))) ChangeSymbol(symbolKey, "&rot=" + parseInt(angle)); } else - ChangeSymbol(symbolKey, "&deltarot=" + parseInt(angle)); + ChangeSymbol(symbolKey, "&deltarot=" + parseFloat(angle)); // CHECK, angle kan hier blijkbaar ook undefined zijn (kies 2 symbolen) } function ScaleSymbol(angle) @@ -477,7 +466,7 @@ if (scenario_key != 0) else { var sl = document.getElementById("<%=inoutMode == MODE_IN? "rooms" : "terr"%>"); - if (!SlnkEvent.event.ctrlKey) // Allow Ctrl key for Multi-select + if (!SlnkEvent.event.ctrlKey) // Allow Ctrl key for Multi-select, Jos opperde nog forceren naar Multiselect mocht dat niet zo zijn sl.selectedIndex = -1; var ob = sl.options; @@ -807,18 +796,45 @@ if (scenario_key != 0) tabRefresh(); } - function onFullScreen(evt) + function toInfobord() { - FcltMgr.stopPropagation(evt); - if (evt.ctrlKey) - var url = "../cad/InfoBord.asp?floor_key=" + floor_key+getCustomParameters(); - else - var url = "../cad/maximize.asp?x=x" + getCustomParameters(); - FcltMgr.windowopen(url,'FGShow', + FcltMgr.stopPropagation(evt); + var url = "../cad/InfoBord.asp?floor_key=" + floor_key + getCustomParameters(); + FcltMgr.windowopen(url,'FG3DShow', "directories=no,location=no,menubar=no," + "resizable=yes,status=no,titlebar=yes,toolbar=no"); } + function onFullScreen(evt) + { + FcltMgr.stopPropagation(evt); + var url = "../cad/maximize.asp?x=x" + getCustomParameters(); + FcltMgr.windowopen(url,'FGShow', + "directories=no,location=no,menubar=no," + + "resizable=yes,status=no,titlebar=yes,toolbar=no"); + + } + + function gotoEditmode(evt) + { + FcltMgr.stopPropagation(evt); + alert ("TODO: reload the map with allowmove=1"); + } + + function togglePanes(evt) + { + FcltMgr.stopPropagation(evt); + var tabpane = $("#fgtabtoggler"); + toggleTabLayout (tabpane); + var navpane = $("#fgmenutoggler"); + toggleLayout (navpane); + globalpanesdown = !globalpanesdown; + if (globalpanesdown) + MMap.$("#ImgTogglePanes").html("<%=I("fa-chevron-double-up")%>"); + else + MMap.$("#ImgTogglePanes").html("<%=I("fa-chevron-double-down")%>"); + } + function scrollview($elm) { var navdiv = $('#navigationCell'); @@ -932,17 +948,35 @@ if (scenario_key != 0) if(main) { - MMap.addButtonAfter("ImgZoomExtents", - { id:"ImgEdit", - alt:"Edit", - label: L("lcl_slnk_editmode"), - onClick: function () { alert("todo: editmode") }, - icon: "fa-fclt-edit" +<% if (!allowmove) { %> + MMap.addButtonAfter("ImgZoomExtents", + { id:"ImgEdit", + alt:"Edit", + label: L("lcl_cad_editmode"), + onClick: gotoEditmode, + icon: "fa-fclt-edit" + }); +<% } %> + + MMap.addButtonAfter("ImgRefresh", + { id:"ImgTogglePanes", + alt:"Toggle panes", + label: L("lcl_cad_togglepanes"), + onClick: togglePanes, + icon: "fa-chevron-double-down" }); - MMap.addButtonAfter("ImgPrint", + globalpanesdown = false; + MMap.addButtonAfter("ImgTogglePanes", + { id:"ImgInfoBoard", + alt:"As Infobord", + label: L("lcl_cad_infoboard"), + onClick: toInfobord, + icon: "fa-cube" + }); + MMap.addButtonAfter("ImgInfoBoard", { id:"ImgMaximize", alt:"Maximize", - label: L("lcl_slnk_maximize"), + label: L("lcl_cad_maximize"), onClick: onFullScreen, icon: "fa-external-link" }); @@ -1323,7 +1357,7 @@ if (scenario_key != 0) FCLTselector("rooms", sql, { initKey: -1, - emptyOption: "", // hier zou ik "Geen ruimte gekozen" voorstellen, maar dat werkt niet + emptyOption: "", // loadRuimteOptions bepaalt deze pas echt na verdiepingskeuze initEmpty: true, size: 6, multi: true, diff --git a/APPL/CAD/loadRuimteOptions.asp b/APPL/CAD/loadRuimteOptions.asp new file mode 100644 index 0000000000..3df2ccee6a --- /dev/null +++ b/APPL/CAD/loadRuimteOptions.asp @@ -0,0 +1,35 @@ +<%@language = "javascript" %> +<% /* + $Revision$ + $Id$ + + File: cad/loadRuimteOptions.asp + Description: Aanmaken van de options voor een listbox met (meerdere) ruimtes + Context: Vanuit CAD als een verdieping is gekozen. + Note: +*/ + +DOCTYPE_Disable = true; +%> + + +<% + +var floor_key = getQParamInt("floor_key"); +var ruimte_key = getQParamInt("ruimte_key", -1); // optionele default + +var sql = "SELECT alg_ruimte_key" + + ", alg_ruimte_nr || ' (' || alg_ruimte_omschrijving || ')' oms" + + " FROM ALG_v_aanwezigRUIMTE R" + + " WHERE alg_verdieping_key = " + floor_key + + " ORDER BY 2"; + +FCLTselectorOptions( + sql, + { initKey: ruimte_key, + emptyOption: L("lcl_fg_norooms"), + initEmpty: true + }); + +ASPPAGE_END(); +%> diff --git a/APPL/CAD/loadTerreinOptions.asp b/APPL/CAD/loadTerreinOptions.asp new file mode 100644 index 0000000000..481989eed9 --- /dev/null +++ b/APPL/CAD/loadTerreinOptions.asp @@ -0,0 +1,34 @@ +<%@language = "javascript" %> +<% /* + $Revision$ + $Id$ + + File: cad/loadTerreinOptions.asp + Description: Aanmaken van de options voor een listbox met (meerdere) terreinen + Context: Vanuit CAD als een locatie is gekozen. + Note: +*/ + +DOCTYPE_Disable = true; +%> + + +<% + +var loc_key = getQParamInt("loc_key"); + +sql = " SELECT alg_terreinsector_key," + + " alg_terreinsector_naam" + + " FROM alg_v_aanwezigterreinsector t" + + " WHERE alg_locatie_key = " + loc_key + + " ORDER BY alg_terreinsector_naam"; + +FCLTselectorOptions( + sql, + { initKey: -1, + emptyOption: L("lcl_fg_noterrains"), + initEmpty: true + }); + +ASPPAGE_END(); +%> diff --git a/APPL/CAD/mySlnk2IMG.asp b/APPL/CAD/mySlnk2IMG.asp index 0154098daa..1f308ed75a 100644 --- a/APPL/CAD/mySlnk2IMG.asp +++ b/APPL/CAD/mySlnk2IMG.asp @@ -274,7 +274,7 @@ function myContourProcessor(cHandle) if ((labelType & 0x18) == 0x08 || (themaType & 0x18) == 0x08) pWerkplek = 1; - cHandle.SetLabelFont("Tahoma", (inoutMode==MODE_IN?S("fg_inLabelSize"):S("fg_outLabelSize"))); + cHandle.SetLabelFont("Tahoma", (inoutMode==MODE_IN?S("fg_inlabelsize"):S("fg_outlabelsize"))); // Dit gaat langs alle ruimtes ongeacht of ze in de database zijn gevonden var labelRot = getQParamInt("labelrot", 0); @@ -284,21 +284,19 @@ function myContourProcessor(cHandle) cont.setcolor(0x00ff00); // grijs randjes if (labelRot != 0) // Voor als nog niet DLL versie 3.01 cont.LabelRotation = labelRot; - if (cont.area < S("fg_areaThreshold")) + // contouren kleiner dan een bepaalde oppervlakte geven we een pro forma 10% label + if (cont.area < S("fg_areathreshold")*1000000) //setting im m2, area im mm2 { - cont.lineweight = S("fg_contourWeight") / 2; - cont.Setoutlinecolor(0xC0C0C0,255); // lichter - cont.Label = "[s25]" + cont.Label; + cont.Label = "[s10]" + cont.Label; } - else - cont.lineweight = S("fg_contourWeight"); + cont.lineweight = S("fg_contourweight"); if (noLabel) cont.Label = ""; if (concept == 0 || cont.Key.match(/^R:/)) - cont.SetColor(S("fg_contourColor"), S("fg_contourAlpha")); // Alle herkende ruimtes initieel transparant + cont.SetColor(S("fg_contourcolor"), S("fg_contouralpha")); // Alle herkende ruimtes initieel transparant else if (concept == 1) - cont.SetColor(S("fg_contourColorCpt"), 255); // Concept kleur niet herkende ruimtes + cont.SetColor(S("fg_contourcolorcpt"), 255); // Concept kleur niet herkende ruimtes } /************************************************************\ @@ -310,10 +308,9 @@ function myContourProcessor(cHandle) var cnt = cHandle.Contour("R:" + highlight_arr[r]); if (cnt) { - //cnt.Label = "[s200]" + cnt.Label; - cnt.SetColor(getQParamInt("highlightcolor", 0x800000), 255); // Matig rood, door 255 onderliggend + cnt.SetColor(getQParamInt("highlightcolor", S("fg_hilitefillcolor")), 255); // door 255 onderliggend cnt.Lineweight = Math.min(250, 5 * getQParamFloat("hintScale", 100)); // Constant 5 pixel width maar niet te dik - cnt.SetoutlineColor(getQParamInt("highlightbordercolor", 0x800000), 255); + cnt.SetoutlineColor(getQParamInt("highlightbordercolor", S("fg_hilitebordercolor")), 255); cnt.Hatch = getQParamInt("highlighthatch", 3); // Diagonal Cross cnt.MoveTop(); } @@ -334,7 +331,6 @@ function myContourProcessor(cHandle) + " AND ar." + syncParent + "=" + pvKey + (datumfilter && hasColumn(viewName, 'fclt_f_datum', 'DATE') ? " AND THEMA.fclt_f_datum = " + datumfilter.toSQL():"") + scenFilter - //+ " ORDER BY isd.ins_srtdeel_key" } } ) @@ -357,7 +353,7 @@ function myContourProcessor(cHandle) var viewName = oRs("cad_label_view").value; var zichtbaar = oRs("cad_label_visible").value; var ls = oRs("cad_label_size").value; // negatief als we default label niet willen hebben - var lh = (ls * 100 / S("fg_inLabelSize") ).toFixed(0); + var lh = (ls * 100 / S("fg_inlabelsize") ).toFixed(0); var lhs = "[s" + lh + "]"; oRs.Close(); if (!zichtbaar) // dan de default teksten wissen @@ -489,7 +485,7 @@ function myContourProcessor(cHandle) } // PRJ Aantekeningen - if (scenario_key>0) + if (scenario_key > 0) { sql = "SELECT prj_scenario_note_nr, prj_scenario_note_nr || ': ' || prj_scenario_note_omschrijving oms," + " prj_scenario_note_dwgx dwgx, prj_scenario_note_dwgy dwgy" @@ -501,7 +497,7 @@ function myContourProcessor(cHandle) var oRs = Oracle.Execute(sql); while (!oRs.EOF) { - var symbol = cHandle.AddSymbol(oRs("dwgX").Value, oRs("dwgY").Value,"*STAR"); + var symbol = cHandle.AddSymbol(oRs("dwgX").Value, oRs("dwgY").Value,"*STAR"); // liever *DIAMOND, bestaat die? symbol.Contour.Key = oRs("prj_scenario_note_nr").Value; symbol.Contour.Label = "[c000000]" + oRs("oms").Value; oRs.MoveNext(); @@ -680,7 +676,7 @@ if (dwfPath) fndProcessor : myFindKeys, contourLayers: lCont, labelLayers : lLabel, - minArea : S("fg_contour_minArea"), + minArea : S("fg_contour_minarea"), minmergedistance: S("fg_minmergedistance"), maximize : S("fg_maximize"), tempFolder : shared.tempFolder(),