Scroll entire panels into view

A pet peeve of mine is that, when opening a panel, sometimes LR 2.1 doesn't scroll it entirely into
view when it could have. Specifically, I use Solo mode, I'm in Develop using the Basic panel and I
then click on the Tone Curve panel to open it up. The top of it is out of view, hidden behind the
open Histogram panel. I always have to reach over and scroll it into view. Would be nice if LR used
a rule where, if opening a panel and it's possible to fit it entirely into view then it does so.

> What is the resolution of your monitor? I suspect it is rather small.
It is 1680x1050 so not small at all. And the entire Tone Curve panel *does* fit vertically - I just
have to move it into view myself. If the Histogram panel is closed, this works the way I'd like it
to. It's when the Histogram panel is open that it behaves the way I don't like.

Similar Messages

  • Is it possible to scroll the current highlighted bookmark into view?

    I have a PDF with a lot of bookmarks and the current one, that points to the first page of the document, is highlighted. Sometimes that bookmark will be a long way down the bookmarks list and so initially out of view. The bookmarks have been created by a plug-in and I would like to know if there is a way to programmatically force a specific bookmark into view by making the bookmarks pane scroll to the correct place through the Acrobat (plug-in) API, or JavaScript, or perhaps an Acrobat setting to do this? I cannot find any way that does this yet.
    Thanks
    David

    It's not difficult to rebuild or amend the bookmark tree to better reflect the actual document, but there is no control of the navigation panel window through the API. You are able to open and close subsets of the tree if that would help.

  • Scrolling component into view programmatically without using javascript

    Hi,
    Is it possible to scroll an adf component into view programmatically without using javascript?
    I know of <af:scrollComponentIntoViewBehaviour> that can be added to a command component , but is there a way to do that programmatically in a bean?
    Problem with using javascript is its not guaranteed to work in different browsers.
    Regards,
    Rakesh.

    Hi John,
    Thanks for the reply.
    If i use the af:scrollComponentIntoViewBehavior, then i wont be able to achieve my desired functionality.
    In my use case, i want the id, of the component that needs to be scrolled into view, to be determined in the server listener of the button which is not happening.
    Code snippet in jspx page is as follows:
    <af:commandButton id="cb1" immediate="true">
    <af:clientListener method="clickButton" type="click"/>
    <af:serverListener type="customEvent"
    method="#{pageFlowScope.bean.doScroll }"/>
    <af:scrollComponentIntoViewBehavior id="#{pageFlowScope.bean.compId}/>
    </af:commandButton>
    And the java code for method doScroll is something like :
    public void doScroll (ClientEvent clientEvent)
    //logic to determine compId goes here
    compId = "id";
    So, the problem here is "compId" is set to some value when bean is loaded and the id in the af:scrollComponentIntoViewBehavior will be set to that value forever.
    I cant find any way of telling it to re-read the "compId" value, say after clicking the button. I can refresh the button in the server listener to update the compId .
    But the updated compId will come into picture from *next click*. This is because, after the button is clicked, "scroll" action happens first and then serverListener executes.
    Is there a way to change order of this execution like "execute server listener first and then do the scrolling thing" ?
    Regards,
    Rakesh.
    Edited by: 927925 on Jul 27, 2012 2:02 AM

  • Make a Flash animation play only when it scrolls into view

    I am designing a very long page. There will be a flash animation at the bottom of the page. I want this animation to play only when the user scrolls down and this flash object comes into view. How do I do this? I am quite familiar with flash and actionscript, so I just need some pointers.
    I have seen that this is already being used for advertisements. If you visit www.amazon.com, there are ads that appear far below on the page. These ads play only when you scroll down and the ad appears within the browser window. This happens on many other sites as well.
    Many popular sites also use something like this. On CNN, try opening a new tab that loads a flash video. The video begins to play only when you actually go to that tab. Until you open the tab and the contents become visible in your browser window, the video doesn't start. How is this done?
    Thanks in advance,
      Kumar

    Hmmm ... It looks like Amazon doesn't always run ads. I will give another example.
    Take a look at http://digg.com/
    There is a 300x250 ad at the top of the right-column. Ignore that.
    In addition, there is a second 300x250 ad halfway down the page in the right column.
    This second 300x250 ad appears when you scroll down.
    The interesting thing is that the ad plays from the beginning when you first see it after scrolling down!
    Most flash ads run for 15 seconds. After that the animation stops. When you see this second 300x250 ad, you will find it at the beginning of its 15 second animation. It plays from the beginning even if you wait for some time before scrolling down. This means that the ad is waiting for you to scroll down before it begins to play.
    How is this done?
    Thanks.

  • Can I copy an entire event into a project?

    This is day 2 with my new iMac after starting with Apple II 30 years ago and working with MS products for 25 years, so go easy on me.
    I have a Canon HV20 HD Camcorder (DV tape-based) and it imports easily into iMovie 08. Of course, if I have an hour of video, I get a TON of clips in my new Event. At this very moment, my concern is to empty the tapes onto the computer and have something that can be watched even without editing.
    Is there any way to move the entire event into a project which can be burned to a DVD or watched as-is? (As opposed to selecting each clip and dragging it into the project.) Or should I just leave it down in the event area, since, as I am just finding out, it cannot be cleaned out because that is where the actual video resides.
    I am not an editing freak, so mainly my movies are just video snapshots to be viewed casually at some distant point in the future.
    Also, is there a really simple way to dump a project onto a DVD (remember I am recording in 1080i) so that it can be watched on an HDTV? Do I need Blu-Ray or HD-DVD to do this???
    BTW, a salesperson at B&H Photo in NYC recommended for me to get tape (I hate tape!) since it would be a better way to edit and save, and WOW, he was right!!!
    Randy

    There is an easy way to move your movies onto DVD, subject only to the capacity of the DVD. In iDVD, there is an option for One-Step DVDs, that creates a DVD of exactly what is on your tape. It is an option that comes up when you start iDVD.
    The problem you may encounter is that blank DVDs hold a relatively small amount of video, so if you're recording in 1080i, you might not be able to put much onto an individual DVD. I'm not aware of any Blu-Ray or HD-DVD burners that work on a Mac, but I have to confess I've not looked into them.

  • Scroll bar in Content Viewer

    Hello everyone,
    I have place three different height images into a frame and applied scroll bar using Content viewer. I am calling each image through a button.
    My question is:
    Can we control the scroll bar height limiation as per the image's height. Right now its taking the largest image's height as a reference, when i click and check the small height image, i see lot of white space in it.
    Thank you very much.
    Regards,
    Shiva

    What do you mean you added a scroll bar? Do you mean a scrolling frame?
    If so, no, you cannot adjust the size of that dynamically. That said, I still don't totally get what you're doing.
    You can't click to move content in a scrolling frame, only an MSO.
    Bob

  • IDCS5 Win: Panel Tree View sort order

    Hello everyone:
    I have a panel tree view that is displaying document names in a backward sort order.   When I say that I mean that the sort order is as so:
    5
    4
    3
    2
    1
    as opposed to
    1
    2
    3
    4
    5
    I have stepped through the code and in the Adapter, they are geting placed into the string list in the latter order i.e. 1,2,3,4,5).  What could be causing this reverse sort order?
    R,
    John

    Yes, if the Track Number field is empty in the File Info dialog, for all files in the Files panel, then Audition will revert to "Recent Access" sorting.
    There is no relationship between this File Info: Track Number, and the track number you see in the CD View.
    I understand your confusion. However, note that it is possible to add the same file (from the Files panel) to the CD View track list. So imagine you have "My Song.wav" in the Files panel. And then added it to the CD view track list at track positions 1, 3, and 5. If we were to sort the Files panel by track number as they appear in the CD View, then which track would be associated with "My Song.wav"? Track 1, 3, or 5?
    This feature was added primarily as an enhancement to the typical CD ripping (File > Extract Audio From CD) workflow. After ripping audio tracks, the resulting files that appear in your Files panel will be tagged with a Track Number. It is usually handy to sort by this CD track title rather than by filename or other sorting option.

  • Hi, I am going to an exhibition where there is no internet access but would like to show people around my website. I have added "scrapbook" but cannot work out how to 'save' an entire site for viewing off-line.

    Hi, I am going to an exhibition where there is no internet access but would like to show people around my website. I have added "scrapbook" but cannot work out how to 'save' an entire site for viewing off-line. I thought there was a way to specify 1/2/3 clicks from home page etc. Please help. DAVID

    OK, solved my own problem, but am posting here in case someone else has the same problem. It totally does not make sense, especially considering that it stopped after I reinstalled Lion, but the good thing is I have my files back.
    I scoured the web and found a lot of other people are having the same problem. Most of them didn't have a clue how to fix it. This discussion was the most helpful to me: https://discussions.apple.com/thread/2569766?start=30&tstart=90
    So, I went to the WD page and followed the instructions. The first suggestion was to plug it directly into a wall, because it may not be getting enough power from a power cord. I did this and it fixed the problem. Who would have guessed?
    Anyway, if anyone else is having this problem, go to your manufacturer's website for help. Here's WD's help: http://wdc.custhelp.com/app/answers/detail/a_id/1164/related/1/session/L2F2LzEvd GltZS8xMzI2MzIzMjUwL3NpZC82dmo0blZOaw%3D%3D

  • Importing entire project into DTR

    Hello All,
    I need to put my project into DTR.
    Can i import my entire project into DTR inspite of doing it file by file.
    Thanks & Regards
    Abhivyakti

    Since my colorsit doesn't have CS4, I nested sequences in another timeline so that when I imported project in AE my colorist could see the one clip nest and click it to see other timeline to see all clips detail.
    Thank you.

  • Dragiing entire Panel in Mac

    Hi,
    I am running below given drag and drop program in Windows and Linux it is working fine but i run in Mac entire Panel is moving i am not getting the proper cursors.
    Program is :*
    * This component can operate in two modes. In "draw mode", it allows the user
    * to scribble with the mouse. In "drag mode", it allows the user to drag
    * scribbles with the mouse. Regardless of the mode, it always allows scribbles
    * to be dropped on it from other applications.
    public class ScribbleDragAndDrop extends JComponent implements
    DragGestureListener, // For recognizing the start of drags
    DragSourceListener, // For processing drag source events
    DropTargetListener, // For processing drop target events
    MouseListener, // For processing mouse clicks
    MouseMotionListener // For processing mouse drags
    ArrayList scribbles = new ArrayList(); // A list of Scribbles to draw
    Scribble currentScribble; // The scribble in progress
    Scribble beingDragged; // The scribble being dragged
    DragSource dragSource; // A central DnD object
    boolean dragMode; // Are we dragging or scribbling?
    // These are some constants we use
    static final int LINEWIDTH = 3;
    static final BasicStroke linestyle = new BasicStroke(LINEWIDTH);
    static final Border normalBorder = new BevelBorder(BevelBorder.LOWERED);
    static final Border dropBorder = new BevelBorder(BevelBorder.RAISED);
    /** The constructor: set up drag-and-drop stuff */
    public ScribbleDragAndDrop() {
    // Give ourselves a nice default border.
    // We'll change this border during drag-and-drop.
    setBorder(normalBorder);
    // Register listeners to handle drawing
    addMouseListener(this);
    addMouseMotionListener(this);
    // Create a DragSource and DragGestureRecognizer to listen for drags
    // The DragGestureRecognizer will notify the DragGestureListener
    // when the user tries to drag an object
    dragSource = DragSource.getDefaultDragSource();
    dragSource.createDefaultDragGestureRecognizer(this, // What component
    DnDConstants.ACTION_COPY_OR_MOVE, // What drag types?
    this);// the listener
    // Create and set up a DropTarget that will listen for drags and
    // drops over this component, and will notify the DropTargetListener
    DropTarget dropTarget = new DropTarget(this, // component to monitor
    this); // listener to notify
    this.setDropTarget(dropTarget); // Tell the component about it.
    * The component draws itself by drawing each of the Scribble objects.
    public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D) g;
    g2.setStroke(linestyle); // Specify wide lines
    int numScribbles = scribbles.size();
    for (int i = 0; i < numScribbles; i++) {
    Scribble s = (Scribble) scribbles.get(i);
    g2.draw(s); // Draw the scribble
    public void setDragMode(boolean dragMode) {
    this.dragMode = dragMode;
    public boolean getDragMode() {
    return dragMode;
    * This method, and the following four methods are from the MouseListener
    * interface. If we're in drawing mode, this method handles mouse down
    * events and starts a new scribble.
    public void mousePressed(MouseEvent e) {
    if (dragMode)
    return;
    currentScribble = new Scribble();
    scribbles.add(currentScribble);
    currentScribble.moveto(e.getX(), e.getY());
    public void mouseReleased(MouseEvent e) {
    public void mouseClicked(MouseEvent e) {
    public void mouseEntered(MouseEvent e) {
    public void mouseExited(MouseEvent e) {
    * This method and mouseMoved() below are from the MouseMotionListener
    * interface. If we're in drawing mode, this method adds a new point to the
    * current scribble and requests a redraw
    public void mouseDragged(MouseEvent e) {
    if (dragMode)
    return;
    currentScribble.lineto(e.getX(), e.getY());
    repaint();
    public void mouseMoved(MouseEvent e) {
    * This method implements the DragGestureListener interface. It will be
    * invoked when the DragGestureRecognizer thinks that the user has initiated
    * a drag. If we're not in drawing mode, then this method will try to figure
    * out which Scribble object is being dragged, and will initiate a drag on
    * that object.
    public void dragGestureRecognized(DragGestureEvent e) {
    // Don't drag if we're not in drag mode
    if (!dragMode)
    return;
    // Figure out where the drag started
    MouseEvent inputEvent = (MouseEvent) e.getTriggerEvent();
    int x = inputEvent.getX();
    int y = inputEvent.getY();
    // Figure out which scribble was clicked on, if any by creating a
    // small rectangle around the point and testing for intersection.
    Rectangle r = new Rectangle(x - LINEWIDTH, y - LINEWIDTH,
    LINEWIDTH * 2, LINEWIDTH * 2);
    int numScribbles = scribbles.size();
    for (int i = 0; i < numScribbles; i++) { // Loop through the scribbles
    Scribble s = (Scribble) scribbles.get(i);
    if (s.intersects(r)) {
    // The user started the drag on top of this scribble, so
    // start to drag it.
    // First, remember which scribble is being dragged, so we can
    // delete it later (if this is a move rather than a copy)
    beingDragged = s;
    // Next, create a copy that will be the one dragged
    Scribble dragScribble = (Scribble) s.clone();
    // Adjust the origin to the point the user clicked on.
    dragScribble.translate(-x, -y);
    // Choose a cursor based on the type of drag the user initiated
    Cursor cursor;
    switch (e.getDragAction()) {
    case DnDConstants.ACTION_COPY:
    cursor = DragSource.DefaultCopyDrop;
    System.out.println(DnDConstants.ACTION_COPY+"....."+cursor);
    break;
    case DnDConstants.ACTION_MOVE:
    cursor = DragSource.DefaultMoveDrop;
    System.out.println(DnDConstants.ACTION_MOVE+"*****"+cursor);
    break;
    default:
    return; // We only support move and copys
    // Some systems allow us to drag an image along with the
    // cursor. If so, create an image of the scribble to drag
    if (dragSource.isDragImageSupported()) {
    Rectangle scribbleBox = dragScribble.getBounds();
    Image dragImage = this.createImage(scribbleBox.width,
    scribbleBox.height);
    Graphics2D g = (Graphics2D) dragImage.getGraphics();
    g.setColor(new Color(0, 0, 0, 0)); // transparent background
    g.fillRect(0, 0, scribbleBox.width, scribbleBox.height);
    g.setColor(Color.black);
    g.setStroke(linestyle);
    g.translate(-scribbleBox.x, -scribbleBox.y);
    g.draw(dragScribble);
    Point hotspot = new Point(-scribbleBox.x, -scribbleBox.y);
    // Now start dragging, using the image.
    e.startDrag(cursor, dragImage, hotspot, dragScribble, this);
    } else {
    // Or start the drag without an image
    e.startDrag(cursor, dragScribble, this);
    // After we've started dragging one scribble, stop looking
    return;
    * This method, and the four unused methods that follow it implement the
    * DragSourceListener interface. dragDropEnd() is invoked when the user
    * drops the scribble she was dragging. If the drop was successful, and if
    * the user did a "move" rather than a "copy", then we delete the dragged
    * scribble from the list of scribbles to draw.
    public void dragDropEnd(DragSourceDropEvent e) {
    if (!e.getDropSuccess())
    return;
    int action = e.getDropAction();
    if (action == DnDConstants.ACTION_MOVE) {
    scribbles.remove(beingDragged);
    beingDragged = null;
    repaint();
    // These methods are also part of DragSourceListener.
    // They are invoked at interesting points during the drag, and can be
    // used to perform "drag over" effects, such as changing the drag cursor
    // or drag image.
    public void dragEnter(DragSourceDragEvent e) {
    public void dragExit(DragSourceEvent e) {
    public void dropActionChanged(DragSourceDragEvent e) {
    public void dragOver(DragSourceDragEvent e) {
    // The next five methods implement DropTargetListener
    * This method is invoked when the user first drags something over us. If we
    * understand the data type being dragged, then call acceptDrag() to tell
    * the system that we're receptive. Also, we change our border as a "drag
    * under" effect to signal that we can accept the drop.
    public void dragEnter(DropTargetDragEvent e) {
    if (e.isDataFlavorSupported(Scribble.scribbleDataFlavor)
    || e.isDataFlavorSupported(DataFlavor.stringFlavor)) {
    e.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
    this.setBorder(dropBorder);
    /** The user is no longer dragging over us, so restore the border */
    public void dragExit(DropTargetEvent e) {
    this.setBorder(normalBorder);
    * This is the key method of DropTargetListener. It is invoked when the user
    * drops something on us.
    public void drop(DropTargetDropEvent e) {
    this.setBorder(normalBorder); // Restore the default border
    // First, check whether we understand the data that was dropped.
    // If we supports our data flavors, accept the drop, otherwise reject.
    if (e.isDataFlavorSupported(Scribble.scribbleDataFlavor)
    || e.isDataFlavorSupported(DataFlavor.stringFlavor)) {
    e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
    } else {
    e.rejectDrop();
    return;
    // We've accepted the drop, so now we attempt to get the dropped data
    // from the Transferable object.
    Transferable t = e.getTransferable(); // Holds the dropped data
    Scribble droppedScribble; // This will hold the Scribble object
    // First, try to get the data directly as a scribble object
    try {
    droppedScribble = (Scribble) t
    .getTransferData(Scribble.scribbleDataFlavor);
    } catch (Exception ex) { // unsupported flavor, IO exception, etc.
    // If that doesn't work, try to get it as a String and parse it
    try {
    String s = (String) t.getTransferData(DataFlavor.stringFlavor);
    droppedScribble = Scribble.parse(s);
    } catch (Exception ex2) {
    // If we still couldn't get the data, tell the system we failed
    e.dropComplete(false);
    return;
    // If we get here, we've got the Scribble object
    Point p = e.getLocation(); // Where did the drop happen?
    droppedScribble.translate(p.getX(), p.getY()); // Move it there
    scribbles.add(droppedScribble); // add to display list
    repaint(); // ask for redraw
    e.dropComplete(true); // signal success!
    // These are unused DropTargetListener methods
    public void dragOver(DropTargetDragEvent e) {
    public void dropActionChanged(DropTargetDragEvent e) {
    * The main method. Creates a simple application using this class. Note the
    * buttons for switching between draw mode and drag mode.
    public static void main(String[] args) {
    // Create a frame and put a scribble pane in it
    JFrame frame = new JFrame("ScribbleDragAndDrop");
    final ScribbleDragAndDrop scribblePane = new ScribbleDragAndDrop();
    frame.getContentPane().add(scribblePane, BorderLayout.CENTER);
    // Create two buttons for switching modes
    JToolBar toolbar = new JToolBar();
    ButtonGroup group = new ButtonGroup();
    JToggleButton draw = new JToggleButton("Draw");
    JToggleButton drag = new JToggleButton("Drag");
    draw.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    scribblePane.setDragMode(false);
    drag.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    scribblePane.setDragMode(true);
    group.add(draw);
    group.add(drag);
    toolbar.add(draw);
    toolbar.add(drag);
    frame.getContentPane().add(toolbar, BorderLayout.NORTH);
    // Start off in drawing mode
    draw.setSelected(true);
    scribblePane.setDragMode(false);
    // Pop up the window
    frame.setSize(400, 400);
    frame.setVisible(true);
    class Scribble implements Shape, Transferable, Serializable, Cloneable {
    protected double[] points = new double[64]; // The scribble data
    protected int numPoints = 0; // The current number of points
    double maxX = Double.NEGATIVE_INFINITY; // The bounding box
    double maxY = Double.NEGATIVE_INFINITY;
    double minX = Double.POSITIVE_INFINITY;
    double minY = Double.POSITIVE_INFINITY;
    * Begin a new polyline at (x,y). Note the use of Double.NaN in the points
    * array to mark the beginning of a new polyline
    public void moveto(double x, double y) {
    if (numPoints + 3 > points.length)
    reallocate();
    // Mark this as the beginning of a new line
    points[numPoints++] = Double.NaN;
    // The rest of this method is just like lineto();
    lineto(x, y);
    * Add the point (x,y) to the end of the current polyline
    public void lineto(double x, double y) {
    if (numPoints + 2 > points.length)
    reallocate();
    points[numPoints++] = x;
    points[numPoints++] = y;
    // See if the point enlarges our bounding box
    if (x > maxX)
    maxX = x;
    if (x < minX)
    minX = x;
    if (y > maxY)
    maxY = y;
    if (y < minY)
    minY = y;
    * Append the Scribble s to this Scribble
    public void append(Scribble s) {
    int n = numPoints + s.numPoints;
    double[] newpoints = new double[n];
    System.arraycopy(points, 0, newpoints, 0, numPoints);
    System.arraycopy(s.points, 0, newpoints, numPoints, s.numPoints);
    points = newpoints;
    numPoints = n;
    minX = Math.min(minX, s.minX);
    maxX = Math.max(maxX, s.maxX);
    minY = Math.min(minY, s.minY);
    maxY = Math.max(maxY, s.maxY);
    * Translate the coordinates of all points in the Scribble by x,y
    public void translate(double x, double y) {
    for (int i = 0; i < numPoints; i++) {
    if (Double.isNaN(points))
    continue;
    points[i++] += x;
    points[i] += y;
    minX += x;
    maxX += x;
    minY += y;
    maxY += y;
    /** An internal method to make more room in the data array */
    protected void reallocate() {
    double[] newpoints = new double[points.length * 2];
    System.arraycopy(points, 0, newpoints, 0, numPoints);
    points = newpoints;
    /** Clone a Scribble object and its internal array of data */
    public Object clone() {
    try {
    Scribble s = (Scribble) super.clone(); // make a copy of all fields
    s.points = (double[]) points.clone(); // copy the entire array
    return s;
    } catch (CloneNotSupportedException e) { // This should never happen
    return this;
    /** Convert the scribble data to a textual format */
    public String toString() {
    StringBuffer b = new StringBuffer();
    for (int i = 0; i < numPoints; i++) {
    if (Double.isNaN(points[i])) {
    b.append("m ");
    } else {
    b.append(points[i]);
    b.append(' ');
    return b.toString();
    * Create a new Scribble object and initialize it by parsing a string of
    * coordinate data in the format produced by toString()
    public static Scribble parse(String s) throws NumberFormatException {
    StringTokenizer st = new StringTokenizer(s);
    Scribble scribble = new Scribble();
    while (st.hasMoreTokens()) {
    String t = st.nextToken();
    if (t.charAt(0) == 'm') {
    scribble.moveto(Double.parseDouble(st.nextToken()), Double
    .parseDouble(st.nextToken()));
    } else {
    scribble.lineto(Double.parseDouble(t), Double.parseDouble(st
    .nextToken()));
    return scribble;
    // ========= The following methods implement the Shape interface ========
    /** Return the bounding box of the Shape */
    public Rectangle getBounds() {
    return new Rectangle((int) (minX - 0.5f), (int) (minY - 0.5f),
    (int) (maxX - minX + 0.5f), (int) (maxY - minY + 0.5f));
    /** Return the bounding box of the Shape */
    public Rectangle2D getBounds2D() {
    return new Rectangle2D.Double(minX, minY, maxX - minX, maxY - minY);
    /** Our shape is an open curve, so it never contains anything */
    public boolean contains(Point2D p) {
    return false;
    public boolean contains(Rectangle2D r) {
    return false;
    public boolean contains(double x, double y) {
    return false;
    public boolean contains(double x, double y, double w, double h) {
    return false;
    * Determine if the scribble intersects the specified rectangle by testing
    * each line segment individually
    public boolean intersects(Rectangle2D r) {
    if (numPoints < 4)
    return false;
    int i = 0;
    double x1, y1, x2 = 0.0, y2 = 0.0;
    while (i < numPoints) {
    if (Double.isNaN(points[i])) { // If we're beginning a new line
    i++; // Skip the NaN
    x2 = points[i++];
    y2 = points[i++];
    } else {
    x1 = x2;
    y1 = y2;
    x2 = points[i++];
    y2 = points[i++];
    if (r.intersectsLine(x1, y1, x2, y2))
    return true;
    return false;
    /** Test for intersection by invoking the method above */
    public boolean intersects(double x, double y, double w, double h) {
    return intersects(new Rectangle2D.Double(x, y, w, h));
    * Return a PathIterator object that tells Java2D how to draw this scribble
    public PathIterator getPathIterator(AffineTransform at) {
    return new ScribbleIterator(at);
    * Return a PathIterator that doesn't include curves. Ours never does.
    public PathIterator getPathIterator(AffineTransform at, double flatness) {
    return getPathIterator(at);
    * This inner class implements the PathIterator interface to describe the
    * shape of a scribble. Since a Scribble is composed of arbitrary movetos
    * and linetos, we simply return their coordinates
    public class ScribbleIterator implements PathIterator {
    protected int i = 0; // Position in array
    protected AffineTransform transform;
    public ScribbleIterator(AffineTransform transform) {
    this.transform = transform;
    /** How to determine insideness and outsideness for this shape */
    public int getWindingRule() {
    return PathIterator.WIND_NON_ZERO;
    /** Have we reached the end of the scribble path yet? */
    public boolean isDone() {
    return i >= numPoints;
    /** Move on to the next segment of the path */
    public void next() {
    if (Double.isNaN(points[i]))
    i += 3;
    else
    i += 2;
    * Get the coordinates of the current moveto or lineto as floats
    public int currentSegment(float[] coords) {
    int retval;
    if (Double.isNaN(points[i])) { // If its a moveto
    coords[0] = (float) points[i + 1];
    coords[1] = (float) points[i + 2];
    retval = SEG_MOVETO;
    } else {
    coords[0] = (float) points[i];
    coords[1] = (float) points[i + 1];
    retval = SEG_LINETO;
    // If a transform was specified, use it on the coordinates
    if (transform != null)
    transform.transform(coords, 0, coords, 0, 1);
    return retval;
    * Get the coordinates of the current moveto or lineto as doubles
    public int currentSegment(double[] coords) {
    int retval;
    if (Double.isNaN(points[i])) {
    coords[0] = points[i + 1];
    coords[1] = points[i + 2];
    retval = SEG_MOVETO;
    } else {
    coords[0] = points[i];
    coords[1] = points[i + 1];
    retval = SEG_LINETO;
    if (transform != null)
    transform.transform(coords, 0, coords, 0, 1);
    return retval;
    //====== The following methods implement the Transferable interface =====
    // This is the custom DataFlavor for Scribble objects
    public static DataFlavor scribbleDataFlavor = new DataFlavor(
    Scribble.class, "Scribble");
    // This is a list of the flavors we know how to work with
    public static DataFlavor[] supportedFlavors = { scribbleDataFlavor,
    DataFlavor.stringFlavor };
    /** Return the data formats or "flavors" we know how to transfer */
    public DataFlavor[] getTransferDataFlavors() {
    return (DataFlavor[]) supportedFlavors.clone();
    /** Check whether we support a given flavor */
    public boolean isDataFlavorSupported(DataFlavor flavor) {
    return (flavor.equals(scribbleDataFlavor) || flavor
    .equals(DataFlavor.stringFlavor));
    * Return the scribble data in the requested format, or throw an exception
    * if we don't support the requested format
    public Object getTransferData(DataFlavor flavor)
    throws UnsupportedFlavorException {
    if (flavor.equals(scribbleDataFlavor)) {
    return this;
    } else if (flavor.equals(DataFlavor.stringFlavor)) {
    return toString();
    } else
    throw new UnsupportedFlavorException(flavor);
    Regards
    Siva prasad
    Edited by: [email protected] on Mar 31, 2008 6:01 AM
    Edited by: [email protected] on Apr 8, 2008 2:53 AM
    Edited by: [email protected] on Apr 8, 2008 2:56 AM

    Also, I'm using iTunes 11.0.5, the latest version as far as I know.

  • The drop down view by menu (Song, album, etc) at the right side of the iTunes window is like a ghost. It flashes into view for a millisecond once in awhile but never lets me click on it. Anyone know what this is about and what to do?

    The drop down view by menu (Song, album, etc) at the right side of the iTunes window is like a ghost. It flashes into view for a millisecond once in awhile but never lets me click on it. Anyone know what this is about and what to do?

    Short answer:
    Click Hide Song(s), it is what you wanted to do...
    Long answer:
    iTunes in the Cloud is a feature of your iTunes store account that allows you to redownload or stream your past purchases. When you delete a purchased track that is downloaded to your computer (like the first one shown here) you are asked if you also want to hide the song from iCloud. This would remove it from the computer and also stop it showing up with the iCloud symbol as the other tracks from that album (which are not downloaded) do.
    If a track shows with the cloud symbol you can play (stream) it by double-clicking the title, or click the cloud symbol to download a local copy to your library. If you try to delete one of these tracks you get a slightly different message confirming that you want to hide the track. Clicking hide will remove the listing from the library and any other device that shows your past purchases.
    Should you want to retrieve any item hidden in this way at a later date use Store > View My Account > iTunes in the Cloud > Hidden Purchases > Manage.
    To hide all your previous purchases that are not downloaded to your computer use Edit > Preferences > Store and untick Show iTunes in the Cloud purchases.
    tt2

  • Is there a way to view just one open Finder window (without any other Finder or other application windows coming into view) from a Desktop hot corner in Yosemite?

    I just upgraded to Yosemite from Snow Leopard on a MacBook Pro. Previously, I could view just one open Finder window by viewing the Desktop via a hot corner and then selecting Finder from the Dock. This would pull only the top Finder winder into view, without showing any other open Finder windows, and most importantly, any other open application windows. I could then easily drag files/folder from my Desktop into the Finder window (which I do A LOT). Since upgrading to Yosemite, whenever I use the Desktop hot corner and select Finder from the Dock, it pulls every open application and Finder window back into view, putting Finder in front.
    Is there any way to view just one already open Finder window (or all Finder windows for that matter) without seeing all other open applications, without having to Hide the other applications or using Spaces?

    Yes I've created an Automator Application that does the job, but the "watch me do" function that does the Mail Merge is a rather Clunkey work around, as the mouse moves all over the place, thats the part i want to remove and replace with a script, or work out a different way around it that avoids the "watch me do" function.
    Is this Possible? or where/who is there i can ask to write me a script, im not a novice to scripting, but i am a novice to Applescript.

  • How to create dynamic panel tree view?

    Hello,
         I can create dynamic pallete panel without any problems (from sdk/paneltreeview) , but i can't when it's a panel tree view (from sdk/paneltreeview). I don't know how to initialize it.  Can i call IID_ITREEVIEWWIDGETMGR's impl directly in ActionComponent to create panel widget? and how?
    Thanks in advance.

    solved by self

  • Question to load the entire database into memory.

    I am planing to load the whole database into memory. Suppose mydb is 10G. Then I plan Max Memory for 10G. Then I can create a named cache with 10G and bind the mydb to this cache. Is this the best way to load entire db into memory?
    If the whole db can be loaded into memory, if procedure cache, cache for tempdb and all other params are not important any more? Or still need to follow common practice to configure memory params?

    Hi Kent,
    12-15GB sounds reasonable.
    I recommend always including your version with your initial posting (unless the version simply doesn't apply to the question).  Particularly when running an unusual version, and 12.5.x has been end-of-lifed long enough to be unusual now.  Are you running SAP Applications on this system?  If not, please questions post to the SAP Adaptive Server Enterprise (SAP ASE) for Custom Applications space instead, it is the space for general-purpose ASE questions.
    Cheers,
    -bret

  • How to add a scroll bar within a view window ?I want to display x and y axis outside the scoll window and keep those axis static and move the graph within scroll area

    how to add a scroll bar within a view window ?I want to display x and y axis outside the scoll window and keep those axis static and move the graph within scroll area
    ananya

    Hey Ananya,
    I believe what you want to do is possible, but it will not be
    easy.  If you want to add a scroll bar that will scroll the graph
    back and forth but keep the axis set, you would want to add a
    horizontal or vertical scrollbar.  Then you would create an event
    handler for the scroll event.  You would have to manually plot
    different data within this scroll event.  Unfortunately, there is
    not really a built in way to do this with the Measurement Studio plot
    control.
    Thanks,
    Pat P.
    Software Engineer
    National Instruments

Maybe you are looking for

  • Color formatting in SSAS

    Using SQL Server 2008 R2: I have a star schema with a fact table containing the following: ID BIGINT IDENTITY, FK_Dimension1 BIGINT, FK_Dimension2 BIGINT, dataValue NUMERIC(20, 8), classification NVARCHAR(20) The classification defines the security c

  • An error occured in the querry sub system

    hi i have been getting this error with every cd i try for the past week. i have tried reinstalling itunes with no luck. it started randomly and has been constant since. any help fixing this error would be great cheers Fraser i have a screenshot but c

  • Rtf file format print.

    Hi, Does anyone know how to send the output stream of an rtf format file (Rich Text Format) to a printer? Please help.... Thanks. Mike.

  • REG: Recovery Disc - HP Pavilion G6-2231TX

    Dears,              I have replaced my HDD and I not able to recover the OS. I logged new ticket in HP support and i sent my bill copy to the mail id which is given by support engineer from HP. I have received a mail regarding that ticket is closed w

  • XSD Error

    I'm getting following error when I import external definition ( XSD File ) into XI. Can some one tell me whats problem here. WHat wrong at row 2  col 4 ?? Thanks in advance.. XSD: <?xml version="1.0" encoding="utf-16"?> <xsd:schema xmlns="http://www.