Search Results

Search found 7567 results on 303 pages for 'keyboard navigation'.

Page 77/303 | < Previous Page | 73 74 75 76 77 78 79 80 81 82 83 84  | Next Page >

  • Launch apps or run commands on Windows via shortcuts

    - by Francisc
    Is it possible to register shortcuts on Windows 7 so that regardless where you are looking (Desktop, a folder etc) the shortcut gets "heard" and the appropriate action is performed. For example, creating a shortcut in the System32 folder which will work if you use Run with the shortcut's name, will not work if you set a key combination when focus is set on the Desktop for example. Is there a native way of registering top-level shortcuts or even an application for enabling this? Example of things I want keyboard shortcuts for: open a specific folder like %path% create a new .js file in the current folder launch an application eventually with its path set to the current location if the app supports this (e.g. command prompt) Thank you.

    Read the article

  • How do I make my "volume up" more powerful in Win7?

    - by joon
    My volume up button raises the volume by 1%. Its also not a button, it's a weird 'touch' thing which is really really terrible. If I want to lower the volume, I have to awkwardly rub it for a while. If it were to decrease by 5% or 10% it would be a lot better. Can this be set somewhere in Windows/Keyboard settings? I got close to a solution with Autohotkey, where I could do this: a::Send {Volume_Up 5} which would send the volume up command five times, however when I assign it to the volume key, it forms an endless loop since the Send command sends Volume_Up and parses it at the same time. Update: I ended up with this script: $Volume_Up::VolumeUp() $Volume_Down::VolumeDown() VolumeUp( ) { Send {Volume_Up 6} SoundBeep, 750, 50 } VolumeDown( ) { Send {Volume_Down 6} SoundBeep, 750, 50 }

    Read the article

  • NextPlease Firefox extension doesn't work in 3.6+. Any updates or similar extension?

    - by Tony_Henrich
    I use a Firefox extension called NextPlease which allows me to use the keyboard to go to the next or previous page on web pages which have Previous/Next paging links. Like the Google search results. I downloaded a version from http://cisengineer.com/firefox/ for my Windows XP. On a Windows 7 FF 3.6 machine, Firefox can't import the extension because it's not compatible with FF 3.6 even though it worked in FF 3.6 in Windows XP. Is there an update to this extension or is there a similar extension? I downgraded to FF 3.5.7 to have the extension working.

    Read the article

  • Where in the registry are application registered hotkeys stored?

    - by Stuart Allen
    I need to find in the registry the key that is holding the hotkey CTRL-ALT-SHIFT-E. This is normally a keyboard shortcut in Photoshop, but I installed some program that did a global override of this sequence. I have uninstalled that program, but it did not clean up after itself. So, where can I find this in the registry, I just want to delete this key so the global override won't affect Photoshop anymore. I've google'd the crap out of this, there are various program that claim to assist, but none of them work.

    Read the article

  • Disable "Print and Close" Preview Shortcut on OS X Mountain Lion (10.8.2)

    - by Twitch_City
    I recently upgraded to Mountain Lion from Leopard and there is a global shortcut that I would really like to disable. Apparently, now if you select a document and press Command + p, Preview will open, print the document, then close. I'm sure this was done with the purest intentions but, unfortunately, it is right next to Command + o, which I use many times a day to open files. Since installing Mountain Lion, I've accidentally printed way too many documents just trying to open them! I've gone into the Keyboard preference pane and tried to find where this shortcut is located, but haven't had any success. Anyone know how I can disable this?

    Read the article

  • When I type " nothing comes out, and if I type it again, 2 of it comes out as such: ""

    - by Pacerier
    Something is wrong with my keyboard?: when I type ", nothing comes out, and if I type it again, 2 of them come out as such: "". Same goes with the ' key. The first time I type it, nothing comes out, then if I hit it again two of them appear (so I have to backspace one of them everytime). I've got no idea what I did to my computer, it was working properly yesterday. (I think I was messing around with the language thing, however I've just undid everything I've did and its still not working.)

    Read the article

  • Numpad's Enter key is acting like the Command key instead

    - by user19294
    I can't get the numpad Enter key to work on OS X 10.6.5. The numpad works fine, as do the plus and minus keys. Only the Enter is not working. I tried 2 keyboards and I get the same problem with both, so it's got to be a setting somewhere. In Keyboard Viewer, when I press the key, it shows that the ? keys are pressed. And indeed, pressing Enter-L puts the cursor in the location bar of my browser, just like Command-L would. Is there a way to remap it?

    Read the article

  • Resetting default Input Method in Mac OS 10.6

    - by Tim Visher
    I'm a Dvorak guy. I recently installed a new machine at the inlaws who are not Dvorak people. I stupidly selected Dvorak as my Input Method of choice while installing OS X. Now, all of the users I created default to Dvorak and need to go through the manual process of removing Dvorak as their Input Method of choice and instead choosing U.S. I have no idea how far reaching the implications might be. Could be that any time another user is added they will default to Dvorak. Right now, I'd like to set the default back to U.S. How can I do that? Behaviors I'm looking for include that when the Input Menu is not shown at the Login Screen, U.S. is the keyboard layout. Any future users created should default to U.S. with no Input Menu in the menu bar. Any users created already should have their default layout be U.S. Thanks in advance!

    Read the article

  • Simple way to get keys/mouse buttons working in Synergy (mac client, pc server)

    - by Damon
    I'm trying to get Synergy working running as client on my Mac with SynergyKM Preferences panel. It's performing generally fine (just some real slow downs when my network is under heavy use, usually from youtube videos). The main thing I want to get working is none of the special buttons on my mouse are working on the client.. just the scroll and middle click.. but I have back/forward buttons I'd like to have working. Also my Windows Comfort Curve Keyboard has some extra keys and I'd like to know how to set those up to perform operations on my Mac client. I could have sworn that home/end weren't working but they seem to be now.. perhaps it's application specific..

    Read the article

  • Create shortcut key to insert new row using Excel 2010

    - by Dave Jarvis
    Tried to create a macro in Excel to insert a row: Sub InsertRow() ' ' InsertRow Macro ' ' Keyboard Shortcut: Ctrl+Shift+I ' Selection.EntireRow.Insert End Sub However, this does not insert a new row without first manually selecting a row. Every solution I've found requires that a row be highlighted before inserting a new row. See also: http://www.shortcutworld.com/en/win/Excel_2010.html How would you create a shortcut key (e.g., Ctrl+Shift+J) to highlight the current row and insert a new row? Thank you! Update Looks like Shift+Space highlights the current row.

    Read the article

  • Firefox addon to display all shortucts

    - by p1
    Is there a firefox addon that would display all shortcuts on a web page and also browser shortcuts. for eg: c is the keyboard shortcut for gmail compose. So either on a particular key combination or by hovering over the compose button it should show a "c" to indicate there is a shortcut for this operation. I guess If we keep on seeing the shortcuts popping each time when we do an action then we can start using and remembering more and more of it. Thanks. P.S: If this is not the forum to ask this question please suggest appropriately in comments.

    Read the article

  • How get OSX Lion to save Modifier Key Settings (i.e. swap Ctrl and Cmd)

    - by Huliax
    I use Lion at work with an MS Natural Ergonomic Keyboard 4000. Every single time I log in I have to go into settings and swap the command and control keys. This is really annoying. Is there a way to get these settings to stick? Beyond that, I'd also like to remap a few other keys and I'm interested in tools for doing that. I think I need to work out the first issue first though. Thanks for any help.

    Read the article

  • How do I debug why an OSX key binding stopped working?

    - by nall
    Recently, I've realized that my ^A key binding has stopped working in OSX. My assumption is that some application has registered ^A as a hotkey, but I don't know that for certain. I don't recall installing anything new lately, but it's certainly possible that I did and just forgot. Some other pertinent info: ^A doesn't work in any application -- this isn't just a Terminal.app issue Other control combos (eg: ^E) still work as expected Looking through the Keyboard System Preferences pane shows nothing bound to ^A A reboot doesn't help However, logging into under a freshly made account does cause the issue to go away (i.e.: ^A works for the test account) My StandardKeyBinding.dict has the correct value for ^A Note: I don't have a DefaultKeyBinding.dict in /Library/KeyBindings or ~/Library/KeyBindings Any ideas on how to debug this?

    Read the article

  • Left click and enter not working

    - by user1981338
    Sometimes when I turn on my homemade desktop computer (running 64-bit Windows 7), the left mouse click and enter key doesn't work. They work well in BIOS, as well as on the Windows 7 BCD and login screen. Usually, restarting the computer solves the problem. Why does this keep happening? I've tried: Using other USB ports Refreshing, repairing and reinstalling drivers Changing mouse settings Refreshing mouse profiles My keyboard is a Logitech G510, and my mouse is a Razer Lanchesis 5600. Both work without problems in Ubuntu 12.04 and Windows 8.1 Preview, and I've been using both on my 64-bit Windows 7 homemade desktop without problems for about a year and a half. I encountered the problems yesterday.

    Read the article

  • Key is not detected in xev neither showkey -k in Ubuntu 10.04 in a Virtualbox VM.

    - by Somebody still uses you MS-DOS
    My question mark key in my keyboard isn't working. ("?"). I've tried to use xev and showkey -k to try to identify at least it's code and manually use xmodmap to mao this key. Unfortunately, the keys aren't being detected in neither utilities. I'm using Ubuntu 10.04 in a Virtual Machine, and my Kernel is 2.6.32-22-generic. What can this be? It's not a special multimedia key, it's a simple one. I would like to understand what exactly is happening so at least I can try to better debug this issue.

    Read the article

  • Chrome: Selecting a link by doing search on its text

    - by cool-RR
    I'm trying to use my computer using the keyboard exclusively, without touching the mouse. When browsing the web it can get hard. I use Tab to select links, but there are often dozens of links on a webpage. I can use Chrome's text search (Ctrl-F) to home in on a piece of text in no time; But I can't figure out how to use it to click on a link. For example, let's say there's a link on a webpage with the text "Swedish Furniture". I can easily find it by typing Ctrl-F s w e d, and then Chrome marks the link as found, but is there any way to follow the link after it's found without tabbing through all the links on the page?

    Read the article

  • How to test which button is stuck

    - by Macha
    My laptop's keyboard is prone to buttons sticking. The fix is to just press the same button again. Now when it is the letter/number keys are stuck, it's just a matter of putting the cursor in a text field, and seeing what characters appear. However, when it is one of the modifier keys, or tab, or enter or a few other buttons, it gets harder to tell which key is to blame. Trying to type can result in all sort of shortcuts being triggered. Is there anyway to test what input is being recieved? Also, I'm guessing this is a hardware issue, but if anyone knows of any possible causes/solutions it'd be appreciated. It's a Dell Studio 17, and the problem occurs under Windows and Linux.

    Read the article

  • Which logs will tell me about the Touchpad and Keyboard locking up?

    - by Sepero
    I have an Asus N53SM laptop that I leave running for several weeks at a time. I never put it in hibernate or suspend, I only close the lid when I'm not using it. After a few days or weeks of running, the touchpad and keyboard will Both lock up (at the same time) for no apparent reason. I could be just surfing the internet when it happens. The touchpad and keyboard seem to only lock up when I'm actively using the laptop (not when idle), which may mean it's related to something I press, but I'm not sure? The touchpad never locks or unlocks when Pressing FN and the designated touchpad lock key (it does not seem to work on Linux). While the touchpad and keyboard are locked, I am able to plug in my USB mouse and successfully use it to control the screen cursor. I can also remotely get into the system with vnc and ssh, everything seems to run fine there as well. No processes appear out of control. It's just the laptops physical touchpad and keyboard that are locking up. How might I go about diagnosing this problem? What system logs to look at? (anything specific to look for in them?) Perhaps I should try reloading some modules? Any thing else I should inspect?

    Read the article

  • How can I find which "command" corresponds to opening a gnome-panel menu, for use in a keyboard shortcut?

    - by Ryan Jendoubi
    There are many questions and answers here and around the web on setting basic keyboard shortcuts in GNOME. Most of them are either for launching applications, or Compiz settings, or for changing defaults for other things for which Ubuntu provides defaults shortcuts. What I want to know though is how to refer to a gnome-panel menu item in a custom keyboard shortcut. I'm using Ubuntu 11.10 with GNOME Classic, and the old GNOME 2 / Ubuntu 10.04 keyboard shortcuts for the main menus (Alt-F1) and the "Me Menu" (Super+S) don't seem to work. So my question is two-fold. Primarily I'd like to know how to set those shortcuts. But a second-order question is how I could have found this out myself: is there some program I can use to see what signals or commands are fired off when I click on various things, in this case gnome-panel menu items? I'm interested in the broader question because I've sometimes wanted to set shortcuts for specific menus or menu items in GNOME 2, so a way to find out what command I need there would be useful. Give a man a rod, as they say :-) I've had a look at a good lot of keyboard shortcut and menu related items here to no avail. One somewhat relevant question is this one, but it's just a "how do I do it" question, and applies to Unity, not GNOME, although it would be great if whatever investigatory method answers this question might also apply under different desktops, like Unity. The answer to this question is essentially how I was doing it in 10.04 / GNOME 2, although the questioner's query isn't exactly addressed - how to get directly to "Broadcast" with a key combination. Again, it would be great if an answer delving into how such menus work and how they interact with the rest of the system would be applicable to pinpoint menu items.

    Read the article

  • Pinyin Character entry on a touchscreen keyboard

    - by mmr
    The app I'm developing requires that it be deployed in China, which means that it needs to have Pinyin and Chinese character handling. I'm told that the way that our customers handle character entry is like so: Enter in the pinyin character, like 'zhang' As they enter the characters, a list of possible Chinese (Mandarin?) characters are presented to the user, like: The user will then select '1' to enter the family name that is roughly translated to 'zhang' How can I hook such programs (I believe one is called 'mspy.exe', from Microsoft, which I'm lead to believe comes with Microsoft versions of XP) into a WPF text box? Right now, the user can enter text either by using their keyboard or by using an on-screen keyboard, so I will probably need to capture the event of a keypress from either source and feed it to some OS event or to MSPY.exe or some similar program. Or is there some other way to enter pinyin and have it converted to Mandarin? Is there a program other than MSPY I should look at? EDIT: For those of you who think that this should 'just work', it does not. Chinese character entry will work just fine if entering text into notepad or the start-run menu or whatever, but it will not work in WPF. That's the key to this question: how do I enable WPF entry? There's the Google Pinyin and Sogou pinyin, but the websites are in Mandarin or Chinese or something similar and I don't read the language.

    Read the article

  • OnEditorActionListener called twice with same eventTime on SenseUI keyboard

    - by ydant
    On just one phone I am testing on (HTC Incredible, Android 2.2, Software 3.21.605.1), I am experiencing the following behavior. The onEditorAction event handler is being called twice (immediately) when the Enter key on the Sense UI keyboard is pressed. The KeyEvent.getEventTime() is the same for both times the event is called, leading me to this work-around: protected void onCreate(Bundle savedInstanceState) { [...] EditText text = (EditText)findViewById(R.id.txtBox); text.setOnEditorActionListener(new OnEditorActionListener() { private long lastCalled = -1; public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if ( event.getEventTime() == lastCalled ) { return false; } else { lastCalled = event.getEventTime(); handleNextButton(v); return true; } } }); [...] } The EditText is defined as: <EditText android:layout_width="150sp" android:layout_height="wrap_content" android:id="@+id/txtBox" android:imeOptions="actionNext" android:capitalize="characters" android:singleLine="true" android:inputType="textVisiblePassword|textCapCharacters|textNoSuggestions" android:autoText="false" android:editable="true" android:maxLength="6" /> On all other devices I've tested on, the action button is properly labeled "Next" and the event is only called a single time when that button is pressed. Is this a bug in Sense UI's keyboard, or am I doing something incorrectly? Thank you for any assistance.

    Read the article

  • iPhone nextResponder switching keyboards

    - by Steve
    iPhone SDK 3.2 Beta 4 (I am downloading B5 to see if this clears this up) To me this seems like a bug, but maybe I am missing something. The linked test program illustrates this problem. I have several UITextFields that I am linking together using the Tag property. In textFieldShouldReturn I get the next UITextField and set it as the active responder. The problem arises with the IB settings for the keyboard type. In the test program I have the first two text fields set to default. The next three text fields are set to numeric and symbols. As you move into the set (bottom three) that use the numeric/symbol keyboard the keyboard will toggle between numeric/symbol and the default. What I mean is the third field will display the numeric/symbol. The second Default. The third numeric/symbol. If you add more text fields setup as numeric/symbol this will continue on. Now if you tab into the forth field (it should bring up the default) and then manually select the numeric/symbol. The problem will disappear. I have tried various things to track down why the problem disappears. No luck so far. Sample Project

    Read the article

  • Send string from java (or other platform) to application

    - by MrSnowflake
    I want to send a barcode, read with my cellphone, to my computer. My computer has a simple server running, which listens to barcodes. When a barcode arrives, the server app should be able to input the value of the received barcode into the active application (I don't really care which application is going to get the input, the user should be able to select gedit, a terminal window or the browser if they choose to). My language at the moment is Java on GNU/Linux (Ubuntu), so I know about the Robot class. But the Robot class emulates a keyboard, which means: when you send VK_1 on a US keyboard layout, the output is '1' indeed, but when you send VK_1 on another layout (like belgian, which I use), which requires shift for the '1' key, the output is '&' (this is the character on the '1' key, when you don't hold shift). I also found xsendkeys, but this application too requires you to specify whether you need to hold shift. So it will be able to send an 'a' but for an 'A' (thus capital) you need to specify you want to hold shift with your 'a'. Isn't there an easy way to do this, for GNU/Linux and Windows, just using strings. I want to be able to send "12a68dd" to the active application. And I also would like to be able to send UTF-8 characters to the active application. I have been looking for a solution, but most require the breakdown in multiple keystrokes, which are often dependent on the keyboard layout.

    Read the article

  • How I can add JScroll bar to NavigableImagePanel which is an Image panel with an small navigation vi

    - by Sarah Kho
    Hi, I have the following NavigableImagePanel, it is under BSD license and I found it in the web. What I want to do with this panel is as follow: I want to add a JScrollPane to it in order to show images in their full size and let the users to re-center the image using the small navigation panel. Right now, the panel resize the images to fit them in the current panel size. I want it to load the image in its real size and let users to navigate to different parts of the image using the navigation panel. Source code for the panel: import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsEnvironment; import java.awt.Image; import java.awt.Point; import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.Toolkit; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Arrays; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingUtilities; /** * @author pxt * */ public class NavigableImagePanel extends JPanel { /** * <p>Identifies a change to the zoom level.</p> */ public static final String ZOOM_LEVEL_CHANGED_PROPERTY = "zoomLevel"; /** * <p>Identifies a change to the zoom increment.</p> */ public static final String ZOOM_INCREMENT_CHANGED_PROPERTY = "zoomIncrement"; /** * <p>Identifies that the image in the panel has changed.</p> */ public static final String IMAGE_CHANGED_PROPERTY = "image"; private static final double SCREEN_NAV_IMAGE_FACTOR = 0.15; // 15% of panel's width private static final double NAV_IMAGE_FACTOR = 0.3; // 30% of panel's width private static final double HIGH_QUALITY_RENDERING_SCALE_THRESHOLD = 1.0; private static final Object INTERPOLATION_TYPE = RenderingHints.VALUE_INTERPOLATION_BILINEAR; private double zoomIncrement = 0.2; private double zoomFactor = 1.0 + zoomIncrement; private double navZoomFactor = 1.0 + zoomIncrement; private BufferedImage image; private BufferedImage navigationImage; private int navImageWidth; private int navImageHeight; private double initialScale = 0.0; private double scale = 0.0; private double navScale = 0.0; private int originX = 0; private int originY = 0; private Point mousePosition; private Dimension previousPanelSize; private boolean navigationImageEnabled = true; private boolean highQualityRenderingEnabled = true; private WheelZoomDevice wheelZoomDevice = null; private ButtonZoomDevice buttonZoomDevice = null; /** * <p>Defines zoom devices.</p> */ public static class ZoomDevice { /** * <p>Identifies that the panel does not implement zooming, * but the component using the panel does (programmatic zooming method).</p> */ public static final ZoomDevice NONE = new ZoomDevice("none"); /** * <p>Identifies the left and right mouse buttons as the zooming device.</p> */ public static final ZoomDevice MOUSE_BUTTON = new ZoomDevice("mouseButton"); /** * <p>Identifies the mouse scroll wheel as the zooming device.</p> */ public static final ZoomDevice MOUSE_WHEEL = new ZoomDevice("mouseWheel"); private String zoomDevice; private ZoomDevice(String zoomDevice) { this.zoomDevice = zoomDevice; } public String toString() { return zoomDevice; } } //This class is required for high precision image coordinates translation. private class Coords { public double x; public double y; public Coords(double x, double y) { this.x = x; this.y = y; } public int getIntX() { return (int)Math.round(x); } public int getIntY() { return (int)Math.round(y); } public String toString() { return "[Coords: x=" + x + ",y=" + y + "]"; } } private class WheelZoomDevice implements MouseWheelListener { public void mouseWheelMoved(MouseWheelEvent e) { Point p = e.getPoint(); boolean zoomIn = (e.getWheelRotation() < 0); if (isInNavigationImage(p)) { if (zoomIn) { navZoomFactor = 1.0 + zoomIncrement; } else { navZoomFactor = 1.0 - zoomIncrement; } zoomNavigationImage(); } else if (isInImage(p)) { if (zoomIn) { zoomFactor = 1.0 + zoomIncrement; } else { zoomFactor = 1.0 - zoomIncrement; } zoomImage(); } } } private class ButtonZoomDevice extends MouseAdapter { public void mouseClicked(MouseEvent e) { Point p = e.getPoint(); if (SwingUtilities.isRightMouseButton(e)) { if (isInNavigationImage(p)) { navZoomFactor = 1.0 - zoomIncrement; zoomNavigationImage(); } else if (isInImage(p)) { zoomFactor = 1.0 - zoomIncrement; zoomImage(); } } else { if (isInNavigationImage(p)) { navZoomFactor = 1.0 + zoomIncrement; zoomNavigationImage(); } else if (isInImage(p)) { zoomFactor = 1.0 + zoomIncrement; zoomImage(); } } } } /** * <p>Creates a new navigable image panel with no default image and * the mouse scroll wheel as the zooming device.</p> */ public NavigableImagePanel() { setOpaque(false); addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { if (scale > 0.0) { if (isFullImageInPanel()) { centerImage(); } else if (isImageEdgeInPanel()) { scaleOrigin(); } if (isNavigationImageEnabled()) { createNavigationImage(); } repaint(); } previousPanelSize = getSize(); } }); addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e)) { if (isInNavigationImage(e.getPoint())) { Point p = e.getPoint(); displayImageAt(p); } } } public void mouseClicked(MouseEvent e){ if (e.getClickCount() == 2) { resetImage(); } } }); addMouseMotionListener(new MouseMotionListener() { public void mouseDragged(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e) && !isInNavigationImage(e.getPoint())) { Point p = e.getPoint(); moveImage(p); } } public void mouseMoved(MouseEvent e) { //we need the mouse position so that after zooming //that position of the image is maintained mousePosition = e.getPoint(); } }); setZoomDevice(ZoomDevice.MOUSE_WHEEL); } /** * <p>Creates a new navigable image panel with the specified image * and the mouse scroll wheel as the zooming device.</p> */ public NavigableImagePanel(BufferedImage image) throws IOException { this(); setImage(image); } private void addWheelZoomDevice() { if (wheelZoomDevice == null) { wheelZoomDevice = new WheelZoomDevice(); addMouseWheelListener(wheelZoomDevice); } } private void addButtonZoomDevice() { if (buttonZoomDevice == null) { buttonZoomDevice = new ButtonZoomDevice(); addMouseListener(buttonZoomDevice); } } private void removeWheelZoomDevice() { if (wheelZoomDevice != null) { removeMouseWheelListener(wheelZoomDevice); wheelZoomDevice = null; } } private void removeButtonZoomDevice() { if (buttonZoomDevice != null) { removeMouseListener(buttonZoomDevice); buttonZoomDevice = null; } } /** * <p>Sets a new zoom device.</p> * * @param newZoomDevice specifies the type of a new zoom device. */ public void setZoomDevice(ZoomDevice newZoomDevice) { if (newZoomDevice == ZoomDevice.NONE) { removeWheelZoomDevice(); removeButtonZoomDevice(); } else if (newZoomDevice == ZoomDevice.MOUSE_BUTTON) { removeWheelZoomDevice(); addButtonZoomDevice(); } else if (newZoomDevice == ZoomDevice.MOUSE_WHEEL) { removeButtonZoomDevice(); addWheelZoomDevice(); } } /** * <p>Gets the current zoom device.</p> */ public ZoomDevice getZoomDevice() { if (buttonZoomDevice != null) { return ZoomDevice.MOUSE_BUTTON; } else if (wheelZoomDevice != null) { return ZoomDevice.MOUSE_WHEEL; } else { return ZoomDevice.NONE; } } //Called from paintComponent() when a new image is set. private void initializeParams() { double xScale = (double)getWidth() / image.getWidth(); double yScale = (double)getHeight() / image.getHeight(); initialScale = Math.min(xScale, yScale); scale = initialScale; //An image is initially centered centerImage(); if (isNavigationImageEnabled()) { createNavigationImage(); } } //Centers the current image in the panel. private void centerImage() { originX = (int)(getWidth() - getScreenImageWidth()) / 2; originY = (int)(getHeight() - getScreenImageHeight()) / 2; } //Creates and renders the navigation image in the upper let corner of the panel. private void createNavigationImage() { //We keep the original navigation image larger than initially //displayed to allow for zooming into it without pixellation effect. navImageWidth = (int)(getWidth() * NAV_IMAGE_FACTOR); navImageHeight = navImageWidth * image.getHeight() / image.getWidth(); int scrNavImageWidth = (int)(getWidth() * SCREEN_NAV_IMAGE_FACTOR); int scrNavImageHeight = scrNavImageWidth * image.getHeight() / image.getWidth(); navScale = (double)scrNavImageWidth / navImageWidth; navigationImage = new BufferedImage(navImageWidth, navImageHeight, image.getType()); Graphics g = navigationImage.getGraphics(); g.drawImage(image, 0, 0, navImageWidth, navImageHeight, null); } /** * <p>Sets an image for display in the panel.</p> * * @param image an image to be set in the panel */ public void setImage(BufferedImage image) { BufferedImage oldImage = this.image; this.image = image; //Reset scale so that initializeParameters() is called in paintComponent() //for the new image. scale = 0.0; firePropertyChange(IMAGE_CHANGED_PROPERTY, (Image)oldImage, (Image)image); repaint(); } /** * <p>resets an image to the centre of the panel</p> * */ public void resetImage() { BufferedImage oldImage = this.image; this.image = image; //Reset scale so that initializeParameters() is called in paintComponent() //for the new image. scale = 0.0; firePropertyChange(IMAGE_CHANGED_PROPERTY, (Image)oldImage, (Image)image); repaint(); } /** * <p>Tests whether an image uses the standard RGB color space.</p> */ public static boolean isStandardRGBImage(BufferedImage bImage) { return bImage.getColorModel().getColorSpace().isCS_sRGB(); } //Converts this panel's coordinates into the original image coordinates private Coords panelToImageCoords(Point p) { return new Coords((p.x - originX) / scale, (p.y - originY) / scale); } //Converts the original image coordinates into this panel's coordinates private Coords imageToPanelCoords(Coords p) { return new Coords((p.x * scale) + originX, (p.y * scale) + originY); } //Converts the navigation image coordinates into the zoomed image coordinates private Point navToZoomedImageCoords(Point p) { int x = p.x * getScreenImageWidth() / getScreenNavImageWidth(); int y = p.y * getScreenImageHeight() / getScreenNavImageHeight(); return new Point(x, y); } //The user clicked within the navigation image and this part of the image //is displayed in the panel. //The clicked point of the image is centered in the panel. private void displayImageAt(Point p) { Point scrImagePoint = navToZoomedImageCoords(p); originX = -(scrImagePoint.x - getWidth() / 2); originY = -(scrImagePoint.y - getHeight() / 2); repaint(); } //Tests whether a given point in the panel falls within the image boundaries. private boolean isInImage(Point p) { Coords coords = panelToImageCoords(p); int x = coords.getIntX(); int y = coords.getIntY(); return (x >= 0 && x < image.getWidth() && y >= 0 && y < image.getHeight()); } //Tests whether a given point in the panel falls within the navigation image //boundaries. private boolean isInNavigationImage(Point p) { return (isNavigationImageEnabled() && p.x < getScreenNavImageWidth() && p.y < getScreenNavImageHeight()); } //Used when the image is resized. private boolean isImageEdgeInPanel() { if (previousPanelSize == null) { return false; } return (originX > 0 && originX < previousPanelSize.width || originY > 0 && originY < previousPanelSize.height); } //Tests whether the image is displayed in its entirety in the panel. private boolean isFullImageInPanel() { return (originX >= 0 && (originX + getScreenImageWidth()) < getWidth() && originY >= 0 && (originY + getScreenImageHeight()) < getHeight()); } /** * <p>Indicates whether the high quality rendering feature is enabled.</p> * * @return true if high quality rendering is enabled, false otherwise. */ public boolean isHighQualityRenderingEnabled() { return highQualityRenderingEnabled; } /** * <p>Enables/disables high quality rendering.</p> * * @param enabled enables/disables high quality rendering */ public void setHighQualityRenderingEnabled(boolean enabled) { highQualityRenderingEnabled = enabled; } //High quality rendering kicks in when when a scaled image is larger //than the original image. In other words, //when image decimation stops and interpolation starts. private boolean isHighQualityRendering() { return (highQualityRenderingEnabled && scale > HIGH_QUALITY_RENDERING_SCALE_THRESHOLD); } /** * <p>Indicates whether navigation image is enabled.<p> * * @return true when navigation image is enabled, false otherwise. */ public boolean isNavigationImageEnabled() { return navigationImageEnabled; } /** * <p>Enables/disables navigation with the navigation image.</p> * <p>Navigation image should be disabled when custom, programmatic navigation * is implemented.</p> * * @param enabled true when navigation image is enabled, false otherwise. */ public void setNavigationImageEnabled(boolean enabled) { navigationImageEnabled = enabled; repaint(); } //Used when the panel is resized private void scaleOrigin() { originX = originX * getWidth() / previousPanelSize.width; originY = originY * getHeight() / previousPanelSize.height; repaint(); } //Converts the specified zoom level to scale. private double zoomToScale(double zoom) { return initialScale * zoom; } /** * <p>Gets the current zoom level.</p> * * @return the current zoom level */ public double getZoom() { return scale / initialScale; } /** * <p>Sets the zoom level used to display the image.</p> * <p>This method is used in programmatic zooming. The zooming center is * the point of the image closest to the center of the panel. * After a new zoom level is set the image is repainted.</p> * * @param newZoom the zoom level used to display this panel's image. */ public void setZoom(double newZoom) { Point zoomingCenter = new Point(getWidth() / 2, getHeight() / 2); setZoom(newZoom, zoomingCenter); } /** * <p>Sets the zoom level used to display the image, and the zooming center, * around which zooming is done.</p> * <p>This method is used in programmatic zooming. * After a new zoom level is set the image is repainted.</p> * * @param newZoom the zoom level used to display this panel's image. */ public void setZoom(double newZoom, Point zoomingCenter) { Coords imageP = panelToImageCoords(zoomingCenter); if (imageP.x < 0.0) { imageP.x = 0.0; } if (imageP.y < 0.0) { imageP.y = 0.0; } if (imageP.x >= image.getWidth()) { imageP.x = image.getWidth() - 1.0; } if (imageP.y >= image.getHeight()) { imageP.y = image.getHeight() - 1.0; } Coords correctedP = imageToPanelCoords(imageP); double oldZoom = getZoom(); scale = zoomToScale(newZoom); Coords panelP = imageToPanelCoords(imageP); originX += (correctedP.getIntX() - (int)panelP.x); originY += (correctedP.getIntY() - (int)panelP.y); firePropertyChange(ZOOM_LEVEL_CHANGED_PROPERTY, new Double(oldZoom), new Double(getZoom())); repaint(); } /** * <p>Gets the current zoom increment.</p> * * @return the current zoom increment */ public double getZoomIncrement() { return zoomIncrement; } /** * <p>Sets a new zoom increment value.</p> * * @param newZoomIncrement new zoom increment value */ public void setZoomIncrement(double newZoomIncrement) { double oldZoomIncrement = zoomIncrement; zoomIncrement = newZoomIncrement; firePropertyChange(ZOOM_INCREMENT_CHANGED_PROPERTY, new Double(oldZoomIncrement), new Double(zoomIncrement)); } //Zooms an image in the panel by repainting it at the new zoom level. //The current mouse position is the zooming center. private void zoomImage() { Coords imageP = panelToImageCoords(mousePosition); double oldZoom = getZoom(); scale *= zoomFactor; Coords panelP = imageToPanelCoords(imageP); originX += (mousePosition.x - (int)panelP.x); originY += (mousePosition.y - (int)panelP.y); firePropertyChange(ZOOM_LEVEL_CHANGED_PROPERTY, new Double(oldZoom), new Double(getZoom())); repaint(); } //Zooms the navigation image private void zoomNavigationImage() { navScale *= navZoomFactor; repaint(); } /** * <p>Gets the image origin.</p> * <p>Image origin is defined as the upper, left corner of the image in * the panel's coordinate system.</p> * @return the point of the upper, left corner of the image in the panel's coordinates * system. */ public Point getImageOrigin() { return new Point(originX, originY); } /** * <p>Sets the image origin.</p> * <p>Image origin is defined as the upper, left corner of the image in * the panel's coordinate system. After a new origin is set, the image is repainted. * This method is used for programmatic image navigation.</p>

    Read the article

  • How to get an outline view in sublime texteditor?

    - by karlthorwald
    How do I get an outline view in sublime code editor for Windos? http://www.sublimetext.com/ The minimap is helpful but I miss a traditional outline (a klickable list of all the functions in my code in the order they appear for quick navigation and orientation) Maybe there is a plugin, addon or similar? It would also be nice if you can shortly name which steps are neccesary to make it work. There is a duplicate of this question here: http://www.sublimetext.com/forum/viewtopic.php?f=3&t=993&p=4308&sid=1a162626960826ab21861f1203f64ec5#p4308

    Read the article

< Previous Page | 73 74 75 76 77 78 79 80 81 82 83 84  | Next Page >