fbcontentpane.js

来自「proe5.0野火版下载(中文版免费下载)」· JavaScript 代码 · 共 1,698 行 · 第 1/4 页

JS
1,698
字号
// --------------------------------------------------------------------------// I quickly built a set of buttons images at 30x30 gif format// from images in the spec. These images are not perfect and will need// to be cleaned up. Particularly are not an exact color match to// the ProE equivalent icons. If the images are updated, care needs to be // taken that they are all the same size for rollover to work correctly.// Some of the images pasted from the spec were 28x28 and some were 30x30.// I sized everything up to 30x30 for the moment.// Standard image - images used on mouseout eventvar pvxResetImage = 'fbcp_pvx_reset_but.gif'var pvxWireframeImage = 'fbcp_pvx_wireframe_but.gif';var pvxHiddenLineImage = 'fbcp_pvx_hidden_but.gif';var pvxNoHiddenLineImage = 'fbcp_pvx_nohidden_but.gif';var pvxShadedImage = 'fbcp_pvx_shaded_but.gif';var pvxNextSheetImage = 'fbcp_pvx_nextsheet_but.gif';var pvxPrevSheetImage = 'fbcp_pvx_prevsheet_but.gif';var pvxOpenFileImage = 'fbcp_openfile.gif';// Images used on mouseover event - rollover imagesvar pvxResetImageRollover = 'fbcp_pvx_reset_but_rl.gif'var pvxWireframeImageRollover = 'fbcp_pvx_wireframe_but_rl.gif';var pvxHiddenLineImageRollover = 'fbcp_pvx_hidden_but_rl.gif';var pvxNoHiddenLineImageRollover = 'fbcp_pvx_nohidden_but_rl.gif';var pvxShadedImageRollover = 'fbcp_pvx_shaded_but_rl.gif';var pvxNextSheetImageRollover = 'fbcp_pvx_nextsheet_but_rl.gif';var pvxPrevSheetImageRollover = 'fbcp_pvx_prevsheet_but_rl.gif';var pvxOpenFileImageRollover = 'fbcp_openfile_btn.gif';var pvxResetImagePressed = 'fbcp_pvx_reset_but_pr.gif'var pvxWireframeImagePressed = 'fbcp_pvx_wireframe_but_pr.gif';var pvxHiddenLineImagePressed = 'fbcp_pvx_hidden_but_pr.gif';var pvxNoHiddenLineImagePressed = 'fbcp_pvx_nohidden_but_pr.gif';var pvxShadedImagePressed = 'fbcp_pvx_shaded_but_pr.gif';var pvxNextSheetImagePressed = 'fbcp_pvx_nextsheet_but_pr.gif';var pvxPrevSheetImagePressed = 'fbcp_pvx_prevsheet_but_pr.gif';var pvxOpenFileImagePressed = 'fbcp_openfile_btn.gif';//  Default tool tip object if an I18N version is not available//  A I18N version of tooltips obejcts will be generate into the//  page by the server processor with the name pbxButtonsI18NToolTips//  It assume the lines to reset to I18N values is called after var definition//  in the page.var pbxButtonsI18NToolTips = new Object();function msgId_get(id){  var tooltip = document.getElementById(id);  // On I.E. the text is at the second child  if (navigator.userAgent.indexOf('MSIE') != -1)	     return tooltip.childNodes[2].nodeValue;  else     return tooltip.childNodes[0].nodeValue; }function PVXTooolTipsInit(){  pbxButtonsI18NToolTips.PVXReset        = msgId_get("PVXToolTipsReset");  pbxButtonsI18NToolTips.PVXWireframe    = msgId_get("PVXToolTipsWireframe");  pbxButtonsI18NToolTips.PVXHiddenLine   = msgId_get("PVXToolTipsHiddenLine");  pbxButtonsI18NToolTips.PVXNoHiddenLine = msgId_get("PVXToolTipsNoHiddenLine");  pbxButtonsI18NToolTips.PVXShading      = msgId_get("PVXToolTipsShading");  pbxButtonsI18NToolTips.PVXNextSheet    = msgId_get("PVXToolTipsNextSheet");  pbxButtonsI18NToolTips.PVXPrevSheet    = msgId_get("PVXToolTipsPrevSheet");  pbxButtonsI18NToolTips.openinproe      = msgId_get("PVXToolTipsOpenInProe");}var gPVXFlags = new Object();gPVXFlags.tooltiptag = "TITLE";function addPVXButtons(osfilepath){   // See if the PBX button element exists   var pvxbuttons = document.getElementById('pvxButtons');    if ( pvxbuttons != null )   {     var buttons = '<table border="0" cellpadding="0" cellspacing="0" width=100%> <tr>';             if ( useSheetControls(osfilepath) )      {        buttons += generateDrawingPVXButtons();     }     else     {         buttons += generatePVXButtons();     }     buttons += '</tr></table >';     pvxbuttons.innerHTML = buttons;  }}// Function to generate pvx buttons to page for assembly, part, ... objects// for the html CAD Document details pagefunction generatePVXButtons() {   var buttons = "";   buttons += '<td>';	   buttons += generatePVXButton('PVXReset', 'javascript:resetPVX()', pvxResetImage, pvxResetImageRollover, pvxResetImagePressed, pbxButtonsI18NToolTips['PVXReset']);   buttons += '</td></tr>';   buttons += '<tr><td>';	   buttons += generatePVXButton('PVXWireframe', 'javascript:setWireframe()', pvxWireframeImage, pvxWireframeImageRollover, pvxWireframeImagePressed, pbxButtonsI18NToolTips['PVXWireframe']);   buttons += '</td></tr>';   buttons += '<tr><td>';	   buttons += generatePVXButton('PVXHiddenLine', 'javascript:setHidden()', pvxHiddenLineImage, pvxHiddenLineImageRollover, pvxHiddenLineImagePressed, pbxButtonsI18NToolTips['PVXHiddenLine']);   buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generatePVXButton('PVXNoHiddenLine', 'javascript:setNoHidden()', pvxNoHiddenLineImage, pvxNoHiddenLineImageRollover, pvxNoHiddenLineImagePressed, pbxButtonsI18NToolTips['PVXNoHiddenLine']);   buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generatePVXButton('PVXShading', 'javascript:setShaded()', pvxShadedImage, pvxShadedImageRollover, pvxShadedImagePressed, pbxButtonsI18NToolTips['PVXShading']);   buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generatePVXButton('openinproe', 'javascript:openInProe()', pvxOpenFileImage, pvxOpenFileImageRollover, pvxOpenFileImagePressed, pbxButtonsI18NToolTips['openinproe']);		   buttons += '</td>';	   return buttons;}// Function to generate pvx buttons to page for drawings, layouts, ... objects// for the html details pagefunction generateDrawingPVXButtons() {   var buttons = "";   buttons += '<td>';	   buttons += generatePVXButton('PVXReset', 'javascript:resetPVX()', pvxResetImage, pvxResetImageRollover, pvxResetImagePressed, pbxButtonsI18NToolTips['PVXReset']);   buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generateSheetField();   buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generatePVXButton('PVXNextSheet', 'javascript:sheetUp()', pvxNextSheetImage, pvxNextSheetImageRollover, pvxNextSheetImagePressed, pbxButtonsI18NToolTips['PVXNextSheet']);   buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generatePVXButton('PVXPrevSheet', 'javascript:sheetDn()', pvxPrevSheetImage, pvxPrevSheetImageRollover, pvxPrevSheetImagePressed,pbxButtonsI18NToolTips['PVXPrevSheet']);buttons += '</td></tr>';   buttons += '<tr><td>';   buttons += generatePVXButton('openinproe', 'javascript:openInProe()', pvxOpenFileImage, pvxOpenFileImageRollover, pvxOpenFileImagePressed, pbxButtonsI18NToolTips['openinproe']);	   buttons += '</td>';		   return buttons;}// Generate the html for a specific buttonfunction generatePVXButton(id, href, image, rolloverimage, pressedimage, tooltip) {   // If not a supported browser return without generating buttons      // An id is need to support trail file long term as well   // as to generate the element name of the image for rollover support   var button = "";   button = '<td ><a ';   if ( id != null ) {      button += 'id="';      button += id ;      button += '" ';   }   // If the href equals null return an empty string for button   if ( href == null ) { return ""; }   button += 'href="';   button += href;   button += '"';      // Without an id, no rollover image support will work since we use the id   // to generate the name of the image consistently   if ( id != null) {      button += ' onmouseover="document.' + id + 'image' + ".src='" + head_data.baseImgDir + rolloverimage + "';" + '" ';      button += ' onmouseout="document.' + id + 'image' + ".src='" + head_data.baseImgDir + image + "';" + '" ';       // Initially this was not behaving as expected so it is commented out.      // I assumed it is my incorrect use of the event that is the problem      //button += ' onclick="document.' + id + 'image' + ".src='" + pressedimage + "';" + '" ';   }   button += '>';   if ( image != null ) {      button += '<img ';      if ( id != null ) {         button += 'name="' + id + 'image' + '" ';      }      button += ' width=30 height=30 src="';      button += head_data.baseImgDir + image;      button += '" ';      // This section needs to be browser dependent      if ( tooltip != null ) {         button += gPVXFlags.tooltiptag + '="';         button += tooltip;         button += '" ';      }            button += ' border="0">';   }   // Close anchor and table cell   button += '</a></td>';   return button;}function generateSheetField() {   // Get starting sheet number   var field = '<td>';   field += '<input value=1 disabled id="sheetnumber" type=text size=4 style="width: 95%"> </input>';   field += '</td>';   return field;}// Determine which set of buttons to generate in the page// based on the kind of ProE object. function useSheetControls(osfilepath) {    if ( osfilepath.indexOf(".drw" ) > 0 ||	osfilepath.indexOf(".lay" ) > 0 ||        osfilepath.indexOf(".frm" ) > 0 ||	osfilepath.indexOf(".rep" ) > 0 ||        osfilepath.indexOf(".dgm" ) > 0 ||        osfilepath.indexOf(".dft" ) > 0 ||	osfilepath.indexOf(".tbl" ) > 0 )	     return true;   return false;}// Wrapper functions for PVX.function resetPVX(){  try {   var pvxObj = document.getElementById('pvx_id');   if (pvxObj != null)	     pvxObj.refit();  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'resetPVX'); }}function setOrtho() {   document.PVXForm.PVX.setViewMode(0);}function setPersp() {      document.PVXForm.PVX.setViewMode(1);}function setWireframe() {  try {   var pvxObj = document.getElementById('pvx_id');   if (pvxObj != null)	     pvxObj.setRenderStyle(0);  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'setWireframe'); }}function setHidden(){  try {   var pvxObj = document.getElementById('pvx_id');    if (pvxObj != null)     pvxObj.setRenderStyle(1);  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'setHidden'); }}function setNoHidden() {  try {   var pvxObj = document.getElementById('pvx_id');   if (pvxObj != null)    pvxObj.setRenderStyle(2);  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'setNoHidden'); }}function setShaded(){try { var pvxObj = document.getElementById('pvx_id'); if (pvxObj != null)   pvxObj.setRenderStyle(3);  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'setShaded'); }}function openInProe() {     if (s_selectedFile) activateFile(s_selectedFile);}function sheetUp() {  try {   var pvxObj = document.getElementById('pvx_id');   if (pvxObj != null)   {          var numSheets = pvxObj.getNumberSheets();      if ( numSheets > 1 )      {	var field = document.getElementById("sheetnumber");        sheet = pvxObj.getCurrentSheet();        sheet = sheet + 1;        if(sheet > numSheets)	  sheet = 1;        pvxObj.setCurrentSheet(sheet);        if ( field != null ) 	  field.value = sheet;      }   }  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'sheetUp'); }}function sheetDn() {  try {   var pvxObj = document.getElementById('pvx_id');   if (pvxObj != null)   {      var numSheets = pvxObj.getNumberSheets();      if ( numSheets > 1 )      {        var field = document.getElementById("sheetnumber");        var sheet = pvxObj.getCurrentSheet();        sheet = sheet - 1;        if(sheet < 1)	  sheet = numSheets;        pvxObj.setCurrentSheet(sheet);        if ( field != null )           field.value = sheet;      }  }  }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'sheetDn'); }}function About() {    try {   var pvxObj = document.getElementById('pvx_id');   if (pvxObj != null)      pvxObj.AboutBox();    }catch(e){ dbg_error_crash ('Error: failed doing pvx operation',			      'About'); }}function pvxTrailFile(line){  var pvxObj = document.getElementById('pvx_id');  if (pvxObj != null)  {     pvxObj.readTrailLine(line);  }}// This removes the sync button for trail replay// so it will wait in the second time for pvx signal - onPVXDoneLoading.function removePVXDone(){  var pvxsync = document.getElementById('PVXSync');  pvxsync.innerHTML = '';}// This function is called when pvx is done loading and rendering.// This is used for trail playback to assure that the pvx had done loading before continuingfunction onPVXDoneLoading( inp ){  ProECommandVoid("Wait For ID:PVXDone");  var pvxsync = document.getElementById('PVXSync');  pvxsync.innerHTML = '<div id="PVXDone"> </div>';}function pvxSelection( input ){  var pos = input.lastIndexOf("/");  if (pos > 0 )    var shortName = input.substr(pos+1);  else    return;  for (var i=0; i<row_data.length; i++)	  {    if (row_data[i].filename == shortName)    {      // simulate a selection of that element.      var cell = document.getElementById(row_data[i].id);      if ( cell )      {	s_UserClick = false;	cell.click();      }      break;    }  }}

⌨️ 快捷键说明

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