lfpport_qte_alert.h
来自「This is a resource based on j2me embedde」· C头文件 代码 · 共 269 行
H
269 行
/* * * * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). * * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. * * This source file is specific for Qt-based configurations. *//** * @file * Qt port of Alert. */#ifndef _LFPPORT_QTE_ALERT_H_#define _LFPPORT_QTE_ALERT_H_#include <qpushbutton.h>#include <qmultilineedit.h>#include <qpopupmenu.h>#include <qwidget.h>#include <qlabel.h>#include "lfpport_qte_mscreen.h" extern "C" {#include <lfpport_alert.h>}/** * Customized QPushButton that supports abstract command id. */class CommandButton : public QPushButton { Q_OBJECT int id;public: /** * Constructs a push button for the given alert's given abstract command. * * @param parent alert widget this button belongs to * @param id identifier of the abstract command for which to construct the * button. */ CommandButton(QWidget* parent, int id); /** * Update command ID * * @param new command ID */ void setCommandId(int cmdId);protected slots: /** * Notifies the Java platform that the user has clicked this button. */ void buttonActivated();};/** * Extend QMultiLineEdit to support query on whether scrolling is needed. */class TextViewer : public QMultiLineEdit {public: /** * Constructs a text viewer that supports line wrapping of its contents * for the given alert. * * @param parent native peer of the alert to receive the command. * * @return the new uneditable, scrollable text area for the abstract * command */ TextViewer(QWidget* parent); /** * Checks whether the user will need to scroll the contents of the text * viewer in order to see its entire contents. * * @return true if the contents will need to be scrolled; false otherwise. */ bool needScrolling();protected: /** * Override QMultiLineEdit to performe traversal. * * @param keyEvent key event to handle */ void keyPressEvent ( QKeyEvent *key);};/** * Alert widget. */class Alert : public QWidget { Q_OBJECT /** * Widget to show image. */ QLabel *imageHolder; /** * Widget to show text. */ TextViewer *textViewer; /** * Array of abstract commands for this alert */ QPushButton *buttons[ALERT_NUM_OF_BUTTONS]; /** * Number of alert buttons */ int numButtons; /** * Owner of alert */ PlatformMScreen * mscreen; /** * Places on this alert, at the given y position with no more than the * given maximum height, the given image. This function centers the image * horizontally on the alert window. * * @param y the requested vertical position for the image. (The * actual image will begin at y plus room for cell spacing.) * @param maxHeight the most vertical space that the image can use. * @param img pointer to the image to place on the alert. * * @return an indication of success or the reason for failure */ MidpError setImage(int& y, int maxHeight, QPixmap* img); /** * Beginning at the given y position, sets the boundaries for a gauge on * this alert. * * @param y the requested vertical position for the gauge. * @param gaugeBounds structure that holds the upper-left and lower-right * coordinates for the gauge. * * @return an indication of success or the reason for failure */ MidpError setGauge(int& y, int* gaugeBounds); /** * Places a text viewer on this alert, at the given y position, which * displays the given text. * * @param y the requested vertical position for the gauge. * @param text the text to display. * * @return an indication of success or the reason for failure */ MidpError setText(int& y, QString text);public: /** * Constructs an alert widget. * * @param parent parent widget this alert should pop out from */ Alert(QWidget* parent); /** * Deletes the alert dialog box. This function does not have to delete the * alert's components; that is done by the alert's parent. */ ~Alert(); /** * Override QWidget so that window cannot be moved. */ void setGeometry(const QRect & rect); /** * Override QWidget to not hide the widget and notify Java peer instead. * * @param alsoDelete whether the widget should also be deleted. * Not used. * @return true if closed */ bool close(bool alsoDelete); /** * Override QWidget::keyReleaseEvent() to grab the "cancel key" * event so we can tell MIDP to close the dialog box. * * @param key ptr to key event */ void keyReleaseEvent(QKeyEvent *key); void keyPressEvent(QKeyEvent *key); /** * Resets the contents of this alert using the given image, <i>gauge</i> * bounds, and text. * * @param img pointer to the new image for the alert. * @param gaugeBounds [0] and [1] are return values for gauge's (X, Y) * [2] and [3] are pass-in value for gauge's width and height * @param text new text of the alert. * * @return an indication of success or the reason for failure */ MidpError setContents(QPixmap* img, int* gaugeBounds, QString text); /** * Returns whether the user will have to scroll to see all of the alert's * current content. * * @return true if scrolling will be required; false otherwise */ jboolean needScrolling(); /** * Set abstract commands of this Alert. * The commands should be mapped to buttons. If there is more commands * than buttons, the last command is turned into a popup menu to show * the remaining commands. * * @param cmds array of commands for this alert. * @param numOfCommands size of the <tt>cmds</tt> array. * * @return an indication of success or the reason for failure */ MidpError setCommands(MidpCommand* cmds, int numOfCmds); /** * Store the id of the command which close action is mapped. */ int closeCommandId;protected slots: /** * Notifies the Java platform that the user has selected the given command * from this alert. * * @param commandId identifier of the selected command. */ void commandActivated(int commandId);};#endif /* _LFPPORT_QTE_ALERT_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?