Print panel to selected printer

I am trying to use the NI library function "Print panel to printer.vi" sited at http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3E9F956A4E034080020E74861&p_node=DZ52084&p_source=external.
The vi that I want to print is a graph that I must pass parameters to that contain the data that is to be graphed. I want to select the printer and printer the graph as a panel. The "print panel to printer.vi" requires that I give it the name of vi, which is fine, but it prints a blank graph because there is no way to pass the data.
How can I use this "print panel to printer.vi" yet still get the data to it? It was suggested to put the "print panel to printer.vi" inside the graph vi, but that does not work either. What
am I doing wrong?
Steve Hope

Dennis:
Here is the vi that I am trying to print. Notice that I am passing a bunch of things to it from the VISIBLE graph that is in the application. One of the things is the name of the printer that I want to graph to go to. Can you help?
Steve
Attachments:
Print_Graph.vi ‏76 KB
Plot_Precision.vi ‏32 KB

Similar Messages

  • Bug? Right-click on Front Panel causes selection rectangle!

    Originally posted on LAVA: http://lavag.org/topic/12097-right-click-on-front-panel-causes-selection-rectangle/. This post contains an updated description of the problem.
    Anytime I right-click on a control on the FP, and dismiss the context menu, I get a selection rectangle. If I don't catch it, moving outside the bounds of the FP will cause the FP to scroll to continue my unwanted "selection". So far this has been repeatable every time.
    I noticed that the problem doesn't occur on the Controls pallette, only the context menu for controls. Also, if I mouse over the context menu before dismissing it, the problem doesn't occur. If I select an item from the context menu (which also dismisses it), the problem doesn't occur.
    I am running LabVIEW 8.6.1f1 on Windows XP Home SP3.
    -Ian
    Solved!
    Go to Solution.

    I once worked in a lab which contained a transformer with its incessant 120 Hz hum.  Just when I could tune it out someone would say "What's that hum?" and then it would annoy me again.  Similar story in a different lab which had a cooling water drain.  Just when I get used to the sound, someone would bring it up.
    This behavior has p#$#ed me of on numerous occasions and I am mostly used to it by now.   At home I use a track ball mouse which covers a lot of real estate in a hurry so of course I am often scrolling a FP into never-never land.  Now you bring it up and I am having flashbacks... (Thanks really, it is time to get this fixed)
    I have learned to spot the little circle in the crosshair cursor.  When it is missing, you are in selection mode.

  • You are not authorized to display the panel for selecting a power plan

    I'm running Windows 7. Installed "Power Manager" via System Update 4.0 last night (10/23/2009). Getting this error when hitting FN+F3.
    You are not authorized to display the panel for selecting a power plan.
    Furthermore, I'm unable to see any of the default power schemes. Finally, I created two new power schemes, neither of them display for selection.
    Any one else experiencing this issue?!?!?

    Welcome to the forum!
    Hmm...  That seems odd.  Does the userid that you're using have admin rights to the machine?
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество
    Jane
    2015 X1 Carbon, ThinkPad Slate, T410s, X301, X200 Tablet, T60p, HP TouchPad, iPad Air 2, iPhone 5S, IdeaTab A2107A, Yoga Tablet, Yoga 3 Pro
    I am not a Lenovo Employee.
    I AM one of those crazy ThinkPad zealots!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"!

  • Spry tabbed panels not selectable and displaying everything

    I have a spry tabbed panel with 2 tabs.
    In design view, this correctly shows me the contect of each of the tabs (a different table in each) when I click on the tab.
    When I run it in live view or the browser however, it displays both tabs TOGETHER, (i.e both table) and I can't select either of the tabs.
    I've attached a screen print.
    I've tried creating a brand new page with a new tabbed panel and still get the same result.
    Any suggestions.

    Here you go,
    This is just a template with a few headers and nothing much else, plus the blank tabbed panel, I did this just to test out the panel.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <link href="Layout3.css" rel="stylesheet" type="text/css" /><!--[if IE 5]>
    <style type="text/css">
    /* place css box model fixes for IE 5* in this conditional comment */
    .twoColFixLtHdr #sidebar1 { width: 230px; }
    </style>
    <![endif]--><!--[if IE]>
    <style type="text/css">
    /* place css fixes for all versions of IE in this conditional comment */
    .twoColFixLtHdr #sidebar1 { padding-top: 30px; }
    .twoColFixLtHdr #mainContent { zoom: 1; }
    /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    </style>
    <![endif]-->
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    -->
    </style>
    <link href="SpryAssets/SpryTabbedPanels_test.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="twoColFixLtHdr">
    <div id="container">
      <div id="header">
        <div id="Righty">
          <ul id="MenuBar2" class="MenuBarHorizontal">
        <li><a href="#">Home</a>      </li>
        <li><a href="#">Members</a></li>
      </ul>
      <p> </p>
    </div>
    Login / Register
    <div id="Middle">
      <h1 align="center">GuitarSwap</h1>
    </div>
      </div>
      <div id="sidebar1">
        <h3>Members Area</h3>
        <ul id="MenuBar1" class="MenuBarVertical">
          <li><a href="#">Item 1</a>      </li>
          <li><a href="#">Item 2</a></li>
          <li><a href="#">Item 3</a>      </li>
    </ul>
        <h3>  </h3>
      </div>
      <div id="mainContent">
        <h3>Adverts</h3>
        <!-- end #mainContent -->
      </div>
      <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats -->
      <div id="main3">
    <div id="TabbedPanels1" class="TabbedPanels">
      <ul class="TabbedPanelsTabGroup">
        <li class="TabbedPanelsTab" tabindex="0">Tab 1</li>
        <li class="TabbedPanelsTab" tabindex="0">Tab 2</li>
      </ul>
      <div class="TabbedPanelsContentGroup">
        <div class="TabbedPanelsContent">Content 1</div>
        <div class="TabbedPanelsContent">Content 2</div>
      </div>
    </div>
    <p> </p>
        <p> </p>
      </div>
      <br class="clearfloat" />
      <div id="footer">
        <p> </p>
        <!-- end #footer -->
      </div>
      <!-- end #container -->
    </div>
    <h3>  </h3>
    <script type="text/javascript">
    <!--
    var  = new Spry.Widget.MenuBar("", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
    //-->
    </script>
    </body>
    </html>

  • Front Panel of select VI's pop up upon start-up

    I have a main VI which organizes about 200 test cases(also VI's). However when I load the Main VI, about 50-60 of the front panels from different VI's load. I've checked most of the settings and can't figure this it out. Is there anything I'm missing. Someone suggested a VI Server...what's that? Is the only way to have the front panel load one at a time, to make the VI's load dynamically?

    Let me see if I understand your problem correctly. Are you saying that when you load your main VI, but before you run it, the subVI's front panels are displayed? If that's the case, there's a couple of ways that this could be happening. First, in the VI that has the subVI, right click on the subVI and select SubVI Node Setup. Make sure that Open Front Panel When Loaded is not checked. Second, open the subVI itself and go to VI Properties>Window Appearance. If the Custom radio button is selected, click on the Customize button and see if Show Front Panel When Loaded is checked.

  • Custom File Info Panel Multi select options

    Hi,
    I have created a custom file info panel and working on simple properties.
    it does not have options for provisioning a multi select list box. Say for example, I want to select multiple values from the dropdown values.
    How should i do it? Any help is much appreciated.
    Thanks,
    Sriram

    Hi,
    Following is my sample property file. I want to make the property "Line Year" to be multiselect.
    <xmp_definitions>
    </xmp_schema prefix='x' namespace='x....'
                      <xmp_property name='LineYear' category='external' label='Line Year' type='closedchoice' element_type='text'>
                                    <xmp_choice raw_value="2007" label="2007"/>
                                    <xmp_choice raw_value="2008" label="2008"/>
                                    <xmp_choice raw_value="2009" label="2009"/>
                    </xmp_property>
        </xmp_schema>
    </xmp_definitions>

  • Query Panel LOV Selecting first value

    Hi all,
    I created a LOV to use for one of my VOs. I created it as an Input Text with List of Values. I updated the AF Table using this view to use the new list of values and it works correctly. However in the query panel for the table when you try and select a value from the LOV it always chooses the first record in the LOV no matter which one you select. The query panel is implemented as a separate pop-up/dialog for the AF table.
    I'm not sure why it is working fine on the actual table but not working correctly in the query panel.
    Any help is appreciated.
    Thanks
    Jdev 11.1.2.2.0

    Found the solution to this one.. I did not specified which were the key columns in the VOs that I created to reference in the LOV.
    Once I specified the key column in the VO, the LOV returned the correct value in the Query Panel too.

  • Capturing a front panel menu selection in a SubVI

    All,
          Title is pretty descriptive, so i've got a subvi that's running pretty much in a while loop and I want a menu selection from the parent VI to be able to cancel it. What i've tried so far is passing the reference to the front panel menu and then trying to detect a valuechange/mouse click/ selection etc in an event loop in the SubVI. The problem is it doesn't look like the front panel menu registers the change until after the SubVI finishes executing. How can I fix this?
    Regards,
    Ken

    Hi Ken,
    I hope you are doing well today! Before I attempt the answer your question, I
    need just need to clear a few things as to what you are trying to do. Are you
    trying to stop the while loop in the subVI from the parent VI? And, what’s the
    purpose of using a menu selection? If you can post a simple example, that would
    be great.
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Flyout panel populating selections from state to state selections

    I am looking at having states that offer selections. Once each selection in each state is selected such as a radio button that selection would populate in a flyout panel that would be in each state. You would then go onto the next state and make your next selection. It would then add onto that flyout panel in addition to the selection in the previous state. I would need to have what is populated in the flyout panel to have the ability to be able to copy and paste. In addition I would need to create a reset button that would go to the primary state and clear whats in the flyout panel. I know thats a lot to ask but I like the ease of use in catalyst. I know this might require some use of action script and would be wondering if it would be better to use Flex3

    From what you are describing I think you will be able to accomplish a lot of this in Catalyst, but you will probably need Flash Builder to populate the flyout based on use selections. Give Catalyst a whirl, and if you run into problems or have specific questions, please post them on the forum.
    Ty

  • How to call a BI Query (side panel) with selections provided by "tags"?

    With regards to my previous post (has anyone already successfully integrated their own BI report in a side panel?) we're still not there yet. What we actually would like to do is call a BI Query in the side panel and have the variable for that report filled automatically via "wiring" (using a tag).
    Basically we have a BI Query on a Transient Provider which "calculates" a couple of key figures with regards to a document number (shipment). The reason being before a shipment is to be "sent out" it should meet a couple of requirements (which are not immediately visible within the standard screens) concerning (sales) value, weight, etc...
    We have successfully "tagged" the shipment number in the transactions concerned (VT01N - VT03N). Now, as per my previous post if we just add the BI Query as an analytic list component (WDC_BS_ANLY_LIST_ALV) we seem to be getting errors (as the variable is not passed on). To avoid the error, we have added a search component (FPM_SEARCH_UIBB).
    So, now we get a "selection screen" in which we manually need to fill a shipment number and when we do, the results are correctly displayed.
    Obviously, we would like to have this "variable" assignment to be done automatically via the tag.
    What are we missing here?

    found this document on using the FPM_SEARCH_UIBB http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f07c2765-4ee8-2e10-759b-ea7429a430bb?QuickLink=index&…
    if only such a (extremely detailed) document would exits on passing on the "tag" to the BI query variable (as that is not as straight forward)

  • Radio panel and selection dependent panel draw

    Hi
    I've got two problems with my applet which have me stumped. http://zeldia.cap.ed.ac.uk/Lumbribase/array_exp.php?cluster=LRP00075_8
    1) I'd like the radio buttons on the top panel closer together. I've tried setting the panel grid layout to (1,5) (in the hope of 3 blanks on the right) and I've tried setting the prefered size but it seems to ignor the horizontal parameter unless I set it bigger that the available space.
    2) The checkbox panel on the right is only relevant when the 'exposure' radio button is selected. How can I make it only add this panel when 'exposure' selected and thus checkBoxSetting[4]= true;
    Thanks in advance for any info you can give.
    Ann
    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.Color;
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.Math;
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import java.text.*;
    /*import java.sql.*;
    import java.sql.DriverManager;
    import java.sql.Connection;
    import java.sql.SQLException;
    public class ArrayExpApplet extends Applet
                           implements ItemListener, ActionListener  {
         private JCheckBox ATButton;
         private JCheckBox CdButton;
         private JCheckBox CuButton;
         private JCheckBox PAHButton;
         private JCheckBox ExposureButton;
         private JCheckBox ControlButton;
       static String ExposureString = "Exp";
       static String ControlString = "Con";
         private boolean[] checkBoxSetting = {true,true,true,true,false,true};
         private double[][] expLevels = new double[4][5];
         private double[]   controlLevels = new double[3];
         private Color[] EColor = new Color[5];
         private int originX=100;
         private int height=200;
         private int originY=height+(originX/2);
         private double controlScale=-1;
         private double expScale=-1;
         private double controlMax=0;
         private double expMax=0;
         private JPanel side =  CheckBoxPanelSide();
         private Panel canvasPanel = new Panel();
         public void init() {
          System.out.println("initiating...");
          setBackground(new Color(224, 238, 238));;
              //get the php expression string and read into 2D numeric array
              String expression_str = this.getParameter("expression_string");
              System.out.println("expression_string "+expression_str);
              String[] rows = expression_str.split (";");
              for (int k = 0; k < rows.length; k++) {
                   System.out.println("row "+k+" = "+rows[k]);
                   String[] cols = rows[k].split (",");
                   for (int l = 0; l < cols.length; l++) {
                        System.out.println("col "+l+" = "+cols[l]);
                        expLevels[k][l]= Double.parseDouble(cols[l]);
              //get the php control string and read into a numeric array
              String control_str = this.getParameter("control_string");
              System.out.println("control_string "+control_str);
              rows = control_str.split (",");
              for (int k = 0; k < rows.length; k++) {
                   System.out.println("row "+k+" = "+rows[k]);
                   controlLevels[k]= Double.parseDouble(rows[k]);
              //find max expression to scale y axis
              for (int i=0; i<4; i++) {
                   for (int j=0; j<5; j++){
                        if (expLevels[i][j]>expMax) {expMax=expLevels[i][j];}
              expScale=height/(double)expMax;
              //find max control to scale y axis
              for (int i=0; i<3; i++) {
                   if (controlLevels>controlMax) {controlMax=controlLevels[i];}
              controlScale=height/(double)controlMax;
              //set up an array of 5 colours
              EColor[0]= new Color(200,0,255); //magenta
              EColor[1]= new Color(0,0,255);      //green
              EColor[2]= new Color(0,255,0);      //blue
              EColor[3]= new Color(254,190,0); //yellow
              EColor[4]= new Color(224, 238, 238); //background
    public void start() {
    System.out.println("starting...");
    //          Panel canvasPanel = new Panel();
              Panel entirePanel = new Panel();
              Canvas graph = new Canvas();
              JPanel top = CheckBoxPanelTop();
              JPanel side = CheckBoxPanelSide();
              setLayout(new BorderLayout());
              //layout total area as boxes top to bottom
              entirePanel.setLayout(new BoxLayout(entirePanel, BoxLayout.PAGE_AXIS));
              //put top checkboxes in top box
              entirePanel.add(top);
              //layout area as boxes left to right
              canvasPanel.setLayout(new BoxLayout(canvasPanel, BoxLayout.LINE_AXIS));
              //put canvasPanel in bottom box
              entirePanel.add(canvasPanel);
                   //Put a graph in the first box.
                   canvasPanel.add(graph);
                   //Put checkboxes in the right box.
                   canvasPanel.add(side);
              add("North", entirePanel);
              add("East", canvasPanel);
         public JPanel CheckBoxPanelSide() {
              //Create the check boxes.
              ATButton = new JCheckBox("Atrazine");
              ATButton.setForeground(EColor[0]);
              ATButton.setBackground(new Color(224, 238, 238));
              ATButton.setSelected(true);
              checkBoxSetting[0]=true;
              CdButton = new JCheckBox("Cadmium");
              CdButton.setForeground(EColor[1]);
              CdButton.setBackground(new Color(224, 238, 238));
              CdButton.setSelected(true);
              checkBoxSetting[1]=true;
              CuButton = new JCheckBox("Copper");
              CuButton.setForeground(EColor[2]);
              CuButton.setBackground(new Color(224, 238, 238));
              CuButton.setSelected(true);
              checkBoxSetting[2]=true;
              PAHButton = new JCheckBox("PAH");
              PAHButton.setForeground(EColor[3]);
              PAHButton.setBackground(new Color(224, 238, 238));
              PAHButton.setSelected(true);
              checkBoxSetting[3]=true;
              //Register a listener for the check boxes.
              ATButton.addItemListener(this);
              CdButton.addItemListener(this);
              CuButton.addItemListener(this);
              PAHButton.addItemListener(this);
              JPanel s = new JPanel();
              s.setLayout(new GridLayout(6,1));
              s.setBackground(new Color(224, 238, 238));
              s.setBorder(BorderFactory.createLineBorder (Color.blue, 2));
              s.add(ATButton);
              s.add(CdButton);
              s.add(CuButton);
              s.add(PAHButton);
              return (s);
         public JPanel CheckBoxPanelTop() {
              //Create the radio buttons.
              JRadioButton ExposureButton = new JRadioButton("Exposure");
              ExposureButton.setBackground(new Color(224, 238, 238));
              ExposureButton.setSelected(true);
    ExposureButton.setActionCommand(ExposureString);
              checkBoxSetting[4]=true;
              JRadioButton ControlButton = new JRadioButton("Control");
              ControlButton.setBackground(new Color(224, 238, 238));
    ControlButton.setActionCommand(ControlString);
              ControlButton.setSelected(false);
              //Group the radio buttons.
              ButtonGroup group = new ButtonGroup();
              group.add(ControlButton);
              group.add(ExposureButton);
    //Register a listener for the radio buttons.
              ControlButton.addActionListener(this);
              ExposureButton.addActionListener(this);
              JPanel t = new JPanel();
              t.setLayout(new GridLayout(1,5));
              t.setBackground(new Color(224, 238, 238));
              t.setBorder(BorderFactory.createLineBorder (Color.blue, 2));
              t.setPreferredSize(new Dimension(50, 35));
              t.add(ControlButton);
              t.add(ExposureButton);
              return (t);
    // Listens to the radio buttons.
         public void actionPerformed(ActionEvent e) {
              System.out.println(""+e.getActionCommand());
              if (e.getActionCommand() == "Exp") {checkBoxSetting[4]= true;}
              if (e.getActionCommand() == "Con") {checkBoxSetting[4]= false;}
              repaint();
    // add a checkbox listener
         public void itemStateChanged(ItemEvent event) {
              char c = '-';
              Object source = event.getItemSelectable();
              if (source == ATButton) {
                   if (checkBoxSetting[0]== false) {checkBoxSetting[0]= true;}
                   else {checkBoxSetting[0]= false;}
                   c = 'a';
                   System.out.println("CheckBox "+c);
              else if (source == CdButton) {
                   if (checkBoxSetting[1]== false) {checkBoxSetting[1]= true;}
                   else {checkBoxSetting[1]= false;}
                   c = 'd';
                   System.out.println("CheckBox "+c);
              else if (source == CuButton) {
                   if (checkBoxSetting[2]== false) {checkBoxSetting[2]= true;}
                   else {checkBoxSetting[2]= false;}
                   c = 'u';
                   System.out.println("CheckBox "+c);
              else if (source == PAHButton) {
                   if (checkBoxSetting[3]== false) {checkBoxSetting[3]= true;}
                   else {checkBoxSetting[3]= false;}
                   c = 'p';
                   System.out.println("CheckBox "+c);
              repaint();
         public void paint(Graphics g) {
              System.out.println("Paint");
              if (checkBoxSetting[4]== true) {   //paint exposures
                   System.out.println("painting exposure");
                   //Draw the data
                   int step=100; //distance between exposures on x axis
                   int x=originX; int y;
                   for (int i=0; i<4; i++) {
                        System.out.println("CheckBox "+i+" is "+checkBoxSetting[i]);
                        if (checkBoxSetting[i]) {
                             g.setColor(EColor[i]);
                             for (int j=0; j<4; j++){
                                  y=j+1;
                                  g.drawLine(x,originY-(int)(expLevels[i][j]*expScale), x+step, originY-(int)(expLevels[i][y]*expScale));
                                  x=x+step;
                             x=originX;
                   //draw axis
                   g.setColor(Color.black);
                   g.drawLine(originX, (originX/2), originX, originY);
                   g.drawLine(originX, originY, originX+(step*4), originY);
                   //tickmark axis
                   g.drawLine(originX, originY, originX, originY+5);
                   g.drawLine(originX+step, originY, originX+step, originY+5);
                   g.drawLine(originX+(step*2), originY, originX+(step*2), originY+5);
                   g.drawLine(originX+(step*3), originY, originX+(step*3), originY+5);
                   g.drawLine(originX+(step*4), originY, originX+(step*4), originY+5);
                   g.drawLine(originX, originY, originX-5, originY);
                   g.drawLine(originX, originY- (int) (expMax*expScale*0.25), originX-5, originY- (int) (expMax*expScale*0.25));//400*.5=200*.25=50
                   g.drawLine(originX, originY- (int) (expMax*expScale*0.5), originX-5, originY- (int) (expMax*expScale*0.5));
                   g.drawLine(originX, originY- (int) (expMax*expScale*0.75), originX-5, originY- (int) (expMax*expScale*0.75));
                   g.drawLine(originX, originY- (int) (expMax*expScale), originX-5, originY- (int) (expMax*expScale));
                   //lable x axis
                   g.drawString("LC0", originX-9, originY+20);
                   g.drawString("LC12.5", originX-18+step, originY+20);
                   g.drawString("LC25", originX-12+(step*2), originY+20);
                   g.drawString("LC37.5", originX-18+(step*3), originY+20);
                   g.drawString("LC50", originX-12+(step*4), originY+20);
                   g.drawString("Exposure", originX-24+(step*2), originY+40);
                   //lable y axis
                   String fmt = "0.00#";
                   DecimalFormat df = new DecimalFormat(fmt);
                   int xs=originX; int ys=originY; int zs=(int)((expMax/height)*0.25);
    //               g.drawString("x"+xs+" y"+ys+" zs"+zs+" expMax"+expMax+" expScale"+expScale, 0, originY+60);
                   g.drawString("0", originX-20, originY+4);
                   g.drawString(""+df.format((double)(expMax*0.25)), originX-45, originY+4- (int) (expMax*expScale*0.25));//400*.5=200*.25=50
                   g.drawString(""+df.format((double)(expMax*0.50)), originX-45, originY+4- (int) (expMax*expScale*0.5));
                   g.drawString(""+df.format((double)(expMax*0.75)), originX-45, originY+4- (int) (expMax*expScale*0.75));
                   g.drawString(""+df.format(expMax), originX-45, originY+4- (int) (expMax*expScale));
                   g.drawString("E", originX-100, originY-(int)(height*0.5)-50);
                   g.drawString("x", originX-100, originY-(int)(height*0.5)-40);
                   g.drawString("p", originX-100, originY-(int)(height*0.5)-30);
                   g.drawString("r", originX-100, originY-(int)(height*0.5)-20);
                   g.drawString("e", originX-100, originY-(int)(height*0.5)-10);
                   g.drawString("s", originX-100, originY-(int)(height*0.5));
                   g.drawString("s", originX-100, originY-(int)(height*0.5)+10);
                   g.drawString("i", originX-98, originY-(int)(height*0.5)+20);
                   g.drawString("o", originX-100, originY-(int)(height*0.5)+30);
                   g.drawString("n", originX-100, originY-(int)(height*0.5)+40);
              else {                // paint control
                   System.out.println("painting control");
                   //Draw the data
                   int step=200; //distance between controls on x axis
                   int x=originX; int y;
                   for (int i=0; i<2; i++) {
                        g.setColor(EColor[0]);
                        int j=i+1;
                        g.drawLine(x,originY-(int)(controlLevels[i]*controlScale), x+step, originY-(int)(controlLevels[j]*controlScale));
                        x=x+step;
                   //draw axis
                   g.setColor(Color.black);
                   g.drawLine(originX, (originX/2), originX, originY);
                   g.drawLine(originX, originY, originX+(step*2), originY);
                   //tickmark axis
                   g.drawLine(originX, originY, originX, originY+5);
                   g.drawLine(originX+step, originY, originX+step, originY+5);
                   g.drawLine(originX+(step*2), originY, originX+(step*2), originY+5);
                   g.drawLine(originX, originY, originX-5, originY);
                   g.drawLine(originX, originY- (int) (expMax*expScale*0.25), originX-5, originY- (int) (expMax*expScale*0.25));//400*.5=200*.25=50
                   g.drawLine(originX, originY- (int) (expMax*expScale*0.5), originX-5, originY- (int) (expMax*expScale*0.5));
                   g.drawLine(originX, originY- (int) (expMax*expScale*0.75), originX-5, originY- (int) (expMax*expScale*0.75));
                   g.drawLine(originX, originY- (int) (expMax*expScale), originX-5, originY- (int) (expMax*expScale));
                   //lable x axis
                   g.drawString("Late Cocoon", originX-27, originY+20);
                   g.drawString("Juvenile", originX-20+step, originY+20);
                   g.drawString("Adult", originX-20+(step*2), originY+20);
                   g.drawString("Growth stage", originX-36+step, originY+40);
                   //lable y axis
                   String fmt = "0.00#";
                   DecimalFormat df = new DecimalFormat(fmt);
                   int xs=originX; int ys=originY; int zs=(int)((controlMax/height)*0.25);
    //               g.drawString("x"+xs+" y"+ys+" zs"+zs+" controlMax"+controlMax+" scale"+scale, 0, originY+60);
                   g.drawString("0", originX-15, originY+4);
                   g.drawString(""+df.format((double)(controlMax*0.25)), originX-35, originY+4- (int) (controlMax*controlScale*0.25));//400*.5=200*.25=50
                   g.drawString(""+df.format((double)(controlMax*0.50)), originX-35, originY+4- (int) (controlMax*controlScale*0.5));
                   g.drawString(""+df.format((double)(controlMax*0.75)), originX-35, originY+4- (int) (controlMax*controlScale*0.75));
                   g.drawString(""+df.format(controlMax), originX-35, originY+4- (int) (controlMax*controlScale));
                   g.drawString("E", originX-100, originY-(int)(height*0.5)-50);
                   g.drawString("x", originX-100, originY-(int)(height*0.5)-40);
                   g.drawString("p", originX-100, originY-(int)(height*0.5)-30);
                   g.drawString("r", originX-100, originY-(int)(height*0.5)-20);
                   g.drawString("e", originX-100, originY-(int)(height*0.5)-10);
                   g.drawString("s", originX-100, originY-(int)(height*0.5));
                   g.drawString("s", originX-100, originY-(int)(height*0.5)+10);
                   g.drawString("i", originX-98, originY-(int)(height*0.5)+20);
                   g.drawString("o", originX-100, originY-(int)(height*0.5)+30);
                   g.drawString("n", originX-100, originY-(int)(height*0.5)+40);
         //If we don't specify this, the canvas might not show up at all
         //(depending on the layout manager).
         public Dimension getMinimumSize() {return new Dimension(550,300);}
         //If we don't specify this, the canvas might not show up at all
         //(depending on the layout manager).
         public Dimension getPreferredSize() {return getMinimumSize();}
         public void stop() {
              System.out.println("stopping...");
         public void destroy() {
              System.out.println("preparing to unload...");

    Thanks.
    I've tried moving the lines ...
    //Put checkboxes in the right box.
    canvasPanel.add(side);from the start method to the radio button listerner...
        // Listens to the radio buttons.
         public void actionPerformed(ActionEvent e) {
              System.out.println(""+e.getActionCommand());
              if (e.getActionCommand() == "Exp") {
                   checkBoxSetting[4]= true;
                   //Put checkboxes in the right box.
                   canvasPanel.add(side);
              if (e.getActionCommand() == "Con") {checkBoxSetting[4]= false;}
              repaint();
        }and into the paint method...
         public void paint(Graphics g) {
              System.out.println("Paint");
              if (checkBoxSetting[4]== true) {   //paint exposures
                   System.out.println("painting exposure");
                   //Put checkboxes in the right box.
                   canvasPanel.add(side);
                   //Draw the dataand in both cases the code complies and the applet runs without error messages but the panel is never displayed???

  • Tabbed Panel - Different selected tab gifs

    Is it possible to have different gifs show up for a selected
    tab in the Tabbed Panel example? From what I can see there's only
    one style called in the .js file. Here's my example:
    http://cftest.mccormick.com/zatstage/index.cfm
    When you click on the tabs I would like them to match the tab body
    color.

    If you mark each of your tabs with an ID then you could do
    something like this:
    .TabbedPanelsTabSelected#MostPopularTabbedPanelsTab {
    background-image: url(MostPopularTabButtonSelected.gif);
    .TabbedPanelsTabSelected#TopRatedTabbedPanelsTab {
    background-image: url(TopRatedTabButtonSelected.gif);
    .TabbedPanelsTabSelected#SearchTabbedPanelsTab {
    background-image: url(SearchTabButtonSelected.gif);
    --== Kin ==--

  • [CS2 Mac] Panel Active Selection Observer issue

    Hello,
    My plugin panel needs to be notified when a page was selected by end user from either ID Pages panel or Layout menu item's selection or front window status bar.
    This panel's active selection observer can observe many selection events but not this one - unfortunatly.
    So there is my question: what should I add to my panel's active selection observer to get this panel updated when a new page was selected in the front document?
    Any pointer or advice would be very much appreciated indeed.
    Best regards
    Patrick Perroud

    Patrick,
    yes, the first posting was about a rarely known, different notification mechanism. Not observers. Similarities to responders, but a different service id.
    You have to implement a new boss, with the mentioned kLayoutActionProviderImpl for the service provider, and add your own implementation of the actual interface ILayoutAction. Within your implementation, you then can then find and invoke your observer. This could be as simple as that you maintain a global IObserver* whenever your widget exists (during autoattach/detach) and if that pointer is valid you have it.
    The other notification aren't on the document boss, they are on the layout widget. This is the widget with the biggest screen real estate in document windows. I think you get a hold on it with LayoutUtils. It probably won't be what you need anyway, panorama is about horizontal and vertical scrolling.
    Finally, there's one further notification on the document workspace boss, fired off by the kUpdateDocWindowStateCmdBoss.
    subj: kDocWorkspaceBoss
    class: kUpdateDocWindowStateCmdBoss
    proto: IID_IWINDOW
    Dirk

  • Sliding Panels - Highlighting selected panel link

    I would like the current/selected sliding panel link to be
    highlighted -- any ideas how to achieve this?

    Take a look at this topic: http://forums.adobe.com/message/2174795#2174795

  • Remote panel and selective control access through Security with DSC

    Hi Everyone,
    I looked around to see what labview had to offer concerning security of remote panel and all the solutions I've found only propose full access to a remote panel, or none. The login page is not an option for me as everyone on the intranet can access the remote panel for monitoring but not everyone can have control to the buttons on it.
    With the DSC module, I can give securities to the different controls and it works great with the exe, if I log in or out, the controls appears or disapears. Unfortunately, with remote panels, those controls are always visibles. Furthermore, when I log in from a remote panel, all the other remote panels get logged in with the same username and priviledges. When I log out, same thing, it logs out all the other remote panels. So the last guy who logs in gives its priviledges to every one else who is monitoring the remote panel at that time. when he logs out, he logs everyone out. I used a reentrant vi hoping that this would solve the problem but it didnt.
    I would like to do what my colleague does with Advantech without any problem. He has only 1 .exe is running on the server and whoever connects to it through webserver, just needs to log in and he has all the priviledges of an guest, operator, admin, etc.. with access to controls and features accordingly. All this without interfering with the other people using the remote panels. This colleague has always been doubtful about the capabilities of labview to do SCADA systems and uptil now, I've been able to prove him wrong.. please help me continue
    There are workarounds, using remote desktop to the server instead of webserver but it definitely is not as practical for the client and it will need quite some work to to synchronise all the exes open from the differents sessions, through the use of shared variables, binding and securities.
    Thank you for your help.
    Solved!
    Go to Solution.

    Thank you very much for your reply Jordan.
    The NI security info is on the server (local domain with groups and users), and the running exes as well. The remote panel is not supposed to be accessed by internet, at least not yet, but just by the computers on the network and thinkline computers who are directly connected to the servers. the remote panel is accessed through the simple url: http://serverip/Application.html
    There is no problem with accessing the remote panel of the exes on the server from another computer on the network. But there are several security issues when logging in and out with the NI Security Programmatic Login and logout VIs through the remote panel..
    The 1st problem occurs when several people access the remote panel at the same time. In my setup, everyone is allowed to check what's happening on the front panel of the running exe, go through the tabs, check the graphs, the tables, etc.. , but only the administrators and the operators can send commands to the machines and the production line through this remote panel. Hence some buttons are accessible to all users, while others are only accessible depending  on the privileges of the person logged in.
    So like I said in the 1st post, I configured some buttons to be accessible only by the users of the admin group. When the exe runs, it's perfect, if I log in and out with an admin account, the buttons appears and disappear accordingly. But when I check the remote panel, those admin buttons are always visible, even if I am logged in as a guest or even logged out. Is it because the remote panel only needs minimum runtime engine and doesnt use the dsc runtime engine? if so, any work around?
    Furthermore, another big problem is that if I login as an admin in one remote panel, then login as an guest in another remote panel, and then logout back from the first remote panel, it says: "User Domain/Guest logged out". Hence, my second login logged out my first user. I can actually see the admin buttons appearing and disappearing on the exe when login as admin and guest from the different remote panels.
    So that's it, I would like my remote panel to behave like a normal scada system, with one exe running in the back (on the server) and with all the users accessing it through web server. Several users might/will access the remote panel at the same time and each of the users have a login/password that grant some of them the privileges to take some actions while giving the others only monitoring rights.
    I hope that I have been more clear in this 2nd post,
    Thank you again for your time.
    Best Regards,
    Tom.

Maybe you are looking for

  • How to Efficiently Sample a Fixed Number of Rows

    Good afternoon. I need to select a specific number of random rows from a table, and while I believe my logic is right it's taking too long, 30 minutes for a routine data size. Hopefully someone here can show me a more efficient query. I've seen the S

  • No subject emails

    This is not an iphone specific issue as it happens on my iPad as well. If I send an email that does not contain a subject, once the person replies to me and I reply back, the subject is now "Re: RE:" This does not happen using mail on Android devices

  • Windows MPG's or WMV files help

    How can I add the above files types to my iPod Touch? Message was edited by: WFMA for spelling

  • "Configuration Error" message on launching Admin tool

    Hi I installed OBIEE 11g 11.1.1.6 client on windows 7 machine and created a DSN also. When I launch the admin tool. I get "configuration error" message. Can someone help in identifying what it is and how to resolve it. Regards Sunil

  • Identifying paragrah breaks added in CSTRING returned from MDM Webservice

    Hi I have an ECC RFC which populates data by consuming an MDM Webservice. The data is populated in CSTRING(length). Example CSTRING(1567) which means MDM has returned an 1567 character string. Issue: A paragraph change is notified in CSTRING by combi