mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-19 19:30:51 +00:00
8166594: Taskbar.setWindowProgressValue() spec does not specify expected visual behavior of setWindowProgressValue()
Reviewed-by: serb, ssadetsky
This commit is contained in:
parent
9fc6d8f3aa
commit
89e21fa724
@ -407,10 +407,21 @@ public class Taskbar {
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays progress for specified window.
|
||||
* Displays a determinate progress bar in the task area for the specified
|
||||
* window.
|
||||
* <br>
|
||||
* The visual behavior is platform and {@link State} dependent.
|
||||
* <br>
|
||||
* This call cancels the {@link State#INDETERMINATE INDETERMINATE} state
|
||||
* of the window.
|
||||
* <br>
|
||||
* Note that when multiple windows is grouped in the task area
|
||||
* the behavior is platform specific.
|
||||
*
|
||||
* @param w window to update
|
||||
* @param value from 0 to 100, other to disable progress indication
|
||||
* @param value from 0 to 100, other to switch to {@link State#OFF} state
|
||||
* and disable progress indication
|
||||
* @see #setWindowProgressState(java.awt.Window, State)
|
||||
* @throws SecurityException if a security manager exists and it denies the
|
||||
* {@code RuntimePermission("canProcessApplicationEvents")} permission.
|
||||
* @throws UnsupportedOperationException if the current platform
|
||||
@ -426,14 +437,21 @@ public class Taskbar {
|
||||
|
||||
/**
|
||||
* Sets a progress state for a specified window.
|
||||
* <br>
|
||||
* Each state displays a progress in a platform-dependent way.
|
||||
* <br>
|
||||
* Note than switching from {@link State#INDETERMINATE INDETERMINATE} state
|
||||
* to any of determinate states may reset value set by
|
||||
* {@link #setWindowProgressValue(java.awt.Window, int) setWindowProgressValue}
|
||||
*
|
||||
* @param w window
|
||||
* @param state to change to
|
||||
* @see State#OFF
|
||||
* @see State#NORMAL
|
||||
* @see State#PAUSED
|
||||
* @see State#INDETERMINATE
|
||||
* @see State#ERROR
|
||||
* @see State#INDETERMINATE
|
||||
* @see #setWindowProgressValue(java.awt.Window, int)
|
||||
* @throws SecurityException if a security manager exists and it denies the
|
||||
* {@code RuntimePermission("canProcessApplicationEvents")} permission.
|
||||
* @throws UnsupportedOperationException if the current platform
|
||||
|
||||
@ -58,7 +58,11 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_windows_WTaskbarPeer_nativeInit
|
||||
JNIEXPORT void JNICALL Java_sun_awt_windows_WTaskbarPeer_setProgressValue
|
||||
(JNIEnv *, jobject, jlong window, jint value)
|
||||
{
|
||||
m_Taskbar->SetProgressValue((HWND)window, value, 100);
|
||||
if (value < 0 || value > 100) {
|
||||
m_Taskbar->SetProgressState((HWND)window, TBPF_NOPROGRESS);
|
||||
} else {
|
||||
m_Taskbar->SetProgressValue((HWND)window, value, 100);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -88,6 +92,9 @@ JNIEXPORT void JNICALL Java_sun_awt_windows_WTaskbarPeer_setProgressState
|
||||
flag = TBPF_NOPROGRESS;
|
||||
} else if (strcmp(valueNative, "NORMAL") == 0) {
|
||||
flag = TBPF_NORMAL;
|
||||
|
||||
// Switching from TBPF_INDETERMINATE to TBPF_NORMAL has no effect
|
||||
m_Taskbar->SetProgressState((HWND)window, TBPF_PAUSED);
|
||||
} else if (strcmp(valueNative, "PAUSED") == 0) {
|
||||
flag = TBPF_PAUSED;
|
||||
} else if (strcmp(valueNative, "INDETERMINATE") == 0) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user