app.h

Clase wxAppConsole

La clase wxAppConsole representa la propia aplicación cuando wxUSE_GUI=0.

Jerarquía:

Jerarquía de la clase wxAppConsole
Jerarquía de la clase wxAppConsole

Esta clase es esencial para escribor aplicaciones de consola o híbridas sin necesidad de definir wxUSE_GUI=0.

Se usa para:

Se debe usar la macro wxIMPLEMENT_APP(appClass) en el fichero de implementación de la aplicación para indicar a wxWidgets como crear una instancia de la clase aplicación.

Usar wxDECLARE_APP(appClass) en el fichero de cabecera si se quiere que la función wxGetApp() (la cual retorna una referencia al objeto aplicación) para que sea visible para otros ficheros.

Funciones miembro públicas

~wxAppConsole()

virtual wxAppConsole::~wxAppConsole()

Destructor

Yield()

bool wxAppConsole::Yield (bool onlyIfNeeded = false)

Cede el control a los mensajes pendientes en el bucle de eventos.

Este método es una envoltura conveniente para wxEventLoopBase::Yield(). Si el bucle principal se está ejecutando, llama a este método. Si no, crea un bucle de eventos temporal y lo utiliza en su lugar, lo que puede ser útil para procesar mensajes pendientes durante el arranque del programa, antes de que se cree el bucle principal.

Hay que extremar las precauciones al llamar a esta función ya que, al igual que wxEventLoopBase::Yield(), puede dar lugar a reentradas inesperadas.

SetLocale()

void wxAppConsole::SetCLocale()

Asigna la configuración regional C al valor por defecto para el entorno actual.

Es aconsejable invocar esta función para asegurarse de que el conjunto de herramientas subyacente usa la configuración regional en la que los números y las cantidades monetarias se muestran tan como el usuario espera.

Invocar esta función equivale, aproximadamente, a llamar a

setlocale(LC_ALL, "");

pero realiza tareas adicionales específicas bajo algunas plataformas y debería ser usada en lugar de setlocale(). Alternativamente, se puede usar wxLocale para modificar la configuración regional con mayor control.

Nótese que esto no modifica la configuración regional C++ global, será necesario hacerlo explícitamente si se quiere, por ejemplo:

std::locale::global(std::locale(""));

pero hay que tener en cuenta que el soporte de configuración regional en las librerías estándar C++ en algunas plataformas puede ser pobre o peor.

Manipuladores de eventos

Para consultar más procesamiento de eventos se debería consultar wxEventLoopBase.

MainLoop()

virtual int wxAppConsole::MainLoop()

Invocada por wxWidgets durante la creación de la aplicación.

Se debe sobrecargar si se desea proporcionar un bucle principal propio (dependiente del entorno).

Valor de retorno

Devuelve 0 bajo X, y el parámetro wParam del mensaje WM_QUIT bajo Windows.

ExitMainLoop()

virtual void wxAppConsole::ExitMainLoop ()

Invocar para salir explícitamente del bucle principal de mensajes (eventos).

Normalmente se debería salir del bucle principal (y de la aplicación) borrando la ventana superior (top).

Esta función sencillamente llama a wxEventLoopBase::Exit() en el bucle activo.

FilterEvent()

virtual int wxAppConsole::FilterEvent(wxEvent & event)

Anula el método wxEventFilter.

Esta función es invocada antes de procesar cualquier evento y permite a la aplicación adelantarse al procesamiento de ciertos mensajes, ver wxEventFilter para más información.

La implementación en wxApp de este método siempre devuelve -1 indicando que el evento debe ser procesado normalmente.

Implementa wxEventFilter.

GetMainLoop()

wxEventLoopBase* wxAppConsole::GetMainLoop () const

Devuelve la instancia del bucle de eventos principal, es decir, el bucle de eventos que se inicia mediante OnRun() y que envía todos los eventos enviados desde el kit de herramientas nativo a la aplicación (excepto cuando se configuran temporalmente nuevos bucles de eventos).

El valor devuelto puede ser NULL. Hay que poner el código de inicialización que necesita un bucle de eventos principal no NULL en OnEventLoopEnter().

HandleEvent()

virtual void wxAppConsole::HandleEvent (wxEvtHandler *handler, wxEventFunction func, wxEvent &event) const

Esta función sencillamente invoca el método dado func del manipulador de eventos especificado handler con event como parámetro.

Existe únicamente para permitir atrapar las excepciones de C++ que podrían provenir de cualquier manejador de eventos de la aplicación en un único sitio: si se quiere hacer esto, se debe anular esta función en la clase derivada de wxApp y añadir las clausulas try/catch.

UsesEventLoop()

virtual bool wxAppConsole::UsesEventLoop () const

Devuelve true si la aplicación está usando un bucle de eventos.

Esta función siempre devuelve true para las aplicaciones GUI que deben usar un bucle de eventos pero por defecto solo devuelve true para programas de consola si un bucle de eventos ya está en ejecución ya que no puede saber si uno será creado en el futuro.

Por lo tanto, solo tiene sentido anularlo en aplicaciones de consola que usen un bucle de eventos, que devolverá true en lugar de verificar si hay un bucle de eventos actualmente activo.

Eventos pendientes

Los eventos pendientes son manipulados por wxAppConsole en lugar de por wxEventLoopBase para permitir encolamiento de eventos aún si no ha bucle de eventos (por ejemplo en wxAppConsole::OnInit).

ProcessPendingEvents()

virtual void wxAppConsole::ProcessPendingEvents ()

Procesa todos los eventos pendientes; es necesario llamar a esta función para procesar eventos enviados con wxEvtHandler::QueueEvent o wxEvtHandler::AddPendingEvent.

Esto ocurre durante cada iteración del bucle de eventos (ver wxEventLoopBase) en modo GUI pero también puede ser llamada directamente.

Hay que tener en cuenta que esta función no solo procesa los eventos pendientes para el propio objeto wxApp (que se deriva de wxEvtHandler) sino también los eventos pendientes para cualquier manipulador de eventos de esta aplicación.

Esta función regresará inmediatamente sin hacer nada si se ha llamado a SuspendProcessingOfPendingEvents().

DeletePendingEvents()

void wxAppConsole::DeletePendingEvents ()

Elimina los eventos pendientes de todos los wxEvtHandlers de esta aplicación.

Ver wxEvtHandler::DeletePendingEvents() para advertencias sobre el borrado de eventos pendientes.

HasPendingEvents()

bool wxAppConsole::HasPendingEvents () const

Devuelve true si hay eventos pendientes en la lista de eventos pendientes interna.

Siempre que se invoque wxEvtHandler::QueueEvent o wxEvtHandler::AddPendingEvent() (no solo para la propia wxApp, sino para cualquier manipulador de eventos de la aplicación), la lista interna de manipuladores de wxApp con eventos pendientes es actualizada y esta función retornará true.

SuspendProcessingOfPendingEvents()

void wxAppConsole::SuspendProcessingOfPendingEvents ()

Suspende temporalmente el procesamiento de eventos pendientes.

Ver también ResumeProcessingOfPendingEvents().

ResumeProcessingOfPendingEvents()

void wxAppConsole::ResumeProcessingOfPendingEvents ()

Reanuda el procesamiento de eventos pendientes previamente detenido por una llamada a SuspendProcessingOfPendingEvents().

ScheduleForDestruction()

void wxAppConsole::ScheduleForDestruction (wxObject *object)

Destrucción de objetos retrasada.

En aplicaciones que usen eventos puede ser inseguro para un manipulador de eventos borrar el objeto que ha generado el evento ya que otros eventos pueden ser dependientes del mismo objeto. Es ese caso el manipulador debe invocar a ScheduleForDestruction() en su lugar. Marcar el objeto para su destrucción en un futuro próximo.

Hay que tener presente que si la aplicación no está usando un bucle de eventos, es decir, si UsesEventLoop() retorna false, este método sencillamente borrará el objeto inmediatamente.

Ejemplos del uso de esta función en el propio wxWidgets incluyen el borrado de ventanas de nivel top cuando son cerrados y sockets cuando son desconectados.

IsScheduledForDestruction()

bool wxAppConsole::IsScheduledForDestruction (wxObject *object) const

Verifica si el objeto ha sido marcado para su destrucción con ScheduleForDestruction().

Esta función puede ser útil en optimización para evitar hacer algo con un objeto que será destruido pronto en cualquier caso.

Retrollamadas para eventos de toda la aplicación

OnAssertFailure()

virtual void wxAppConsole::OnAssertFailure ( const wxChar *file, int line, const wxChar *func, const wxChar *cond, const wxChar *msg)

Esta función es invocada cuando se produce un fallo de aserción, es decir, la condición especificada en la macro wxASSERT() es evaluada como falsa.

Solo es invocada en modo de depuración (cuando __WXDEBUG__ está definido) ya que las aserciones no se dejan en el código final en absoluto. La versión de clase base muestra el cuadro de diálogo de fallo de aserción por defecto proponiendo al usuario que detenga el programa, continue o ignore todas las aserciones posteriores.

Parámetros:
file
El nombre del fichero fuente donde se produjo la aserción.
line
El número de línea en ese fichero donde se produjo la aserción.
func
El nombre de la función donde se produjo la aserción, puede ser vacía si el compilador no soporta C99 FUNCTION.
cond
La condición de la aserción fallida en formato de texto.
msg
El mensaje especificado como argumento para wxASSERT_MSG o wxFAIL_MSG, será NULL si ha usado wxASSERT o wxFAIL.
OnCmdLineError()

virtual bool wxAppConsole::OnCmdLineError (wxCmdLineParser &parser)

Invocada cuando falla el análisis de la línea de comandos (es decir, el usuario especificó una opción incorrecta en la línea de comandos).

El comportamiento por defecto es mostrar el texto usado en el programa y abortar el programa.

Valor de retorno

Retorna true para continuar la ejecución normal o false para retornar false desde OnInit() de modo que se termine el programa.

Ver también

OnInitCmdLine()

OnCmdLineHelp()

virtual bool wxAppConsole::OnCmdLineHelp (wxCmdLineParser &parser)

Invocada cuando la opción (–help) es especificada en la línea de comandos.

El comportamiento por defecto es mostrar el texto de uso del programa y abortarlo.

Devolver true para continuar la ejecución normal o false para retorna false desde OnInit() de modo que se termine el programa.
Ver también OnInitCmdLine().

OnCmdLineParsed()

virtual bool wxAppConsole::OnCmdLineParsed (wxCmdLineParser &parser)

Invocada después de que el análisis de la línea de comandos haya terminado con éxito.

Se puede sobrescribir este método para comprobar los valores de los diferentes parámetros que pueden ser introducidos desde la línea de comandos.

No se debe olvidar invocar la versión de la clase base a menos que se quiera suprimir el procesamiento estándar de las opciones de la línea de comandos. Devolver true para continuar la ejecución normal o false para retornar false desde OnInit() de modo que se termine el programa.

Ver también

OnInitCmdLine().

OnEventLoopEnter()

virtual void wxAppConsole::OnEventLoopEnter (wxEventLoopBase *loop)

Invocada por wxEventLoopBase::SetActive(): se puede sobrescribir esta función y colocar aquí el código necesario para activar el bucle de eventos.

Hay que tener en cuenta que esta función es invocada cada vez que se activa un bucle de eventos; se puede usar wxEventLoopBase::IsMain() para llevar a cabo una inicialización más específica del bucle de eventos de la aplicación.

Ver también

OnEventLoopExit().

OnEventLoopExit()

virtual void wxAppConsole::OnEventLoopExit (wxEventLoopBase *loop)

Invocado por wxEventLoopBase::OnExit() para cada bucle de eventos del que se sale.

Ver también OnEventLoopEnter().

OnExit()

virtual int wxAppConsole::OnExit ()

Sustituir esta función miembro para realizar cualquier proceso que sea necesario realizar cuando la aplicación está a punto de salir.

OnExit es invocada después de destruir todas las ventanas y controles de la aplicación, pero antes de la limpieza de wxWidgets. Hay que tener en cuenta que no será invocada en absoluto si OnInit() falla.

El valor de retorno de esta función actualmente es ignorado, se debe retornar el mismo valor que el retornado por el método en la clase base si es sustituida.

OnFatalException()

virtual void wxAppConsole::OnFatalException ()

Esta función puede ser llamada si algo fatal ocurre: una excepción no manejada bajo Win32 o una señal fatal bajo Unix, por ejemplo.

Sin embargo, esto no ocurrirá por defecto: se debe llamar explícitamente a wxHandleFatalExceptions() para activarlo.

Hablando de forma general, esta función solo debe mostrar un mensaje al usuario y retornar. Se puede intentar almacenar datos no guardados pero no está garantizado que funcione y, en efecto, probablemente no lo hará.

Ver también

wxHandleFatalExceptions()()

OnInit()

virtual bool wxAppConsole::OnInit ()

Esta función debe ser suministrada por la aplicación, y normalmente creará la ventana principal de la aplicación, llamando normalmente a SetTopWindow().

Se debe usar OnExit() para limpiar cualquier cosa inicializada aquí, siempre que la función devuelva true.

Hay que tener en cuenta que si se quiere usar el procesamiento de la línea de comandos proporcionado por wxWidgets se debe llamar a la versión de OnInit() de la clase base desde la clase de derivada.

Devolver true para continuar el procesamiento, false para salir de la aplicación inmediatamente.

OnInitCmdLine()

virtual void wxAppConsole::OnInitCmdLine (wxCmdLineParser &parser)

Llamada desde OnInit() y puede ser usada para inicializar el analizador de opciones de la línea de comandos para esta aplicación.

Las versiones de la clase base sólo añaden soporte para algunas opciones estándar.

Hay que tener en cuenta que este método solo debe configurar el analizador para aceptar las opciones de línea de comandos deseadas llamando a wxCmdLineParser::AddOption(), wxCmdLineParser::AddSwitch() y métodos similares, pero no debe llamar a wxCmdLineParser::Parse() ya que esto lo hará el propio wxWidgets un poco más tarde.

OnRun()

virtual int wxAppConsole::OnRun ()

Esta función virtual es donde comienza la ejecución del programa escrito en wxWidgets.

La implementación por defecto entra en el bucle principal y comienza a manipular eventos hasta que termina, ya sea porque ExitMainLoop() fue explícitamente invocado o porque el último marco ha sido borrado y la bandera GetExitOnFrameDelete() es true (que es el valor por defecto).

El valor de retorno de esta función se convierte en el código de salida del programa, así que debe retornar 0 en caso de finalización exitosa.

Soporte de excepciones

Métodos relacionados con la gestión de excepciones en C++.

OnExceptionInMainLoop()

virtual bool wxAppConsole::OnExceptionInMainLoop ()

Esta función es llamada si ocurre una excepción no manejada dentro del bucle de eventos de la aplicación principal.

Puede devolver true para ignorar la excepción y continuar ejecutando el bucle o false para salir del bucle y terminar el programa.

El comportamiento por defecto de esta función es este último en todos los ports excepto en Windows donde se muestra un diálogo al usuario que le permite elegir entre las diferentes opciones. Se puede anular esta función en la clase para hacer algo más apropiado.

Si este método re-lanza la excepción y si la excepción no puede ser almacenada para su posterior procesamiento usando StoreCurrentException(), el programa terminará después de llamar a OnUnhandledException().

Se debería considerar sobreescribir este método para realizar cualquier manejo de excepciones de último recurso que se haría en un programa C++ típico en un bloque try/catch alrededor de toda la función main(). Como este método es llamado durante el manejo de excepciones, se puede usar la palabra clave throw de C++ para volver a lanzar la excepción actual para atraparla de nuevo y analizarla. Por ejemplo:

class MyApp : public wxApp {
public:
    virtual bool OnExceptionInMainLoop()
    {
        wxString error;
        try {
            throw; // Rethrow the current exception.
        } catch (const MyException& e) {
            error = e.GetMyErrorMessage();
        } catch (const std::exception& e) {
            error = e.what();
        } catch ( ... ) {
            error = "unknown error.";
        }
 
        wxLogError("Unexpected exception has occurred: %s, the program will terminate.", error);
 
        // Exit the main loop and thus terminate the program.
        return false;
    }
};
OnUnhandledException()

virtual void wxAppConsole::OnUnhandledException ()

Esta función es llamada cuando ocurre una excepción C++ no manejada en el código del usuario invocado por wxWidgets.

Cualquier excepción no manejada lanzada desde (versiones sustituidas de) los métodos OnInit() y OnExit() así como cualquier excepción lanzada desde en interior del bucle principal y relanzada por OnUnhandledException() resultarán en una llamada a esta función.

Cuando se llama a esta función, el programa ya está a punto de salir y la excepción ya no puede ser manejada ni ignorada, se debe sustituir OnUnhandledException() o utilizar bloques try/catch explícitos alrededor del cuerpo de OnInit() para poder manejar la excepción antes.

La implementación por defecto vuelca información sobre lo excepción usando wxMessageOutputBest.

StoreCurrentException ()

virtual bool wxAppConsole::StoreCurrentException()

Método para almacenar excepciones no manejadas por OnExceptionInMainLoop().

Nota: La implementación por defecto de esta función cuando se utiliza el compilador C++98 simplemente devuelve false, ya que no existe una forma genérica de almacenar una excepción arbitraria en C++98 y cada aplicación debe hacerlo por su cuenta para las excepciones que utiliza en su versión superpuesta. Cuando se utiliza C++11, la implementación por defecto utiliza std::current_exception() y devuelve true, por lo que normalmente no es necesario sobrescribir este método cuando se utiliza C++11.

Esta función puede ser sobrescrita para almacenar la excepción actual, con vistas a volver a lanzarla más tarde cuando se llame a RethrowStoredException(). Si la excepción fue almacenada, devuelve true. Si la excepción no puede ser almacenada, es decir, si esta función devuelve false, el programa abortará después de llamar a OnUnhandledException().

Es necesario sobrescribir esta función si OnExceptionInMainLoop() no atrapa todas las excepciones, pero todavía se quieren manejar usando declaraciones try/catch explícitas. Un uso típico podría ser permitir que funcione código como el siguiente:

void MyFrame::SomeFunction()
{
    try {
        MyDialog dlg(this);
        dlg.ShowModal();
    } catch ( const MyExpectedException& e ) {
        // Deal with the exceptions thrown from the dialog.
    }
}

Por defecto, lanzar una excepción desde un manejador de eventos llamado desde el bucle de eventos modal de diálogo terminaría la aplicación ya que la excepción no puede propagarse de forma segura al código en la cláusula catch debido a la presencia de las funciones nativas del sistema (a través de las cuales las excepciones C++ no pueden, generalmente hablando, propagarse) en la pila de llamadas entre ellas.

Sobrescribir este método permite almacenar la excepción cuando se detecta y volver a lanzarla utilizando RethrowStoredException() cuando la función nativa del sistema que envía los eventos de diálogo termina, con el resultado de que el código anterior funciona como se esperaba.

class MyApp : public wxApp {
public:
    virtual bool StoreCurrentException()
    {
        try {
            throw;
        } catch ( const std::runtime_exception& e ) {
            if ( !m_runtimeError.empty() ) {
                // This is not supposed to happen, only one exception,
                // at most, should be stored.
                return false;
            }
 
            m_runtimeError = e.what();
 
            // Don't terminate, let our code handle this exception later.
            return true;
        } catch ( ... ) {
            // This could be extended to store information about any
            // other exceptions too, but if we don't store them, we
            // should return false to let the program die.
        }
 
        return false;
    }
 
    virtual void RethrowStoredException()
    {
        if ( !m_runtimeError.empty() ) {
            std::runtime_exception e(m_runtimeError);
            m_runtimeError.clear();
            throw e;
        }
    }
 
private:
    std::string m_runtimeError;
};
Ver también

OnExceptionInMainLoop(), RethrowStoredException().

Un ejemplo de implementación de este método:
RethrowStoredException ()

virtual void wxAppConsole::RethrowStoredException()

Método para volver a lanzar excepciones almacenadas por StoreCurrentException().

Nota: Al igual que con StoreCurrentException(), normalmente no es necesario sobrescribir este método cuando se utiliza C++11.

Si se sobrescribe StoreCurrentException(), esta función debería sobrescribirse también para volver a lanzar las excepciones almacenadas por ella cuando el control vuelva a nuestro código, es decir, cuando sea seguro hacerlo.

Ver StoreCurrentException() para un ejemplo de implementación de este método.

La versión por defecto no hace nada cuando se usa C++98 y usa std::rethrow_exception() en C++11.

Información de aplicación

GetAppDisplayName()

wxString wxAppConsole::GetAppDisplayName () const

Devuelve el nombre de la aplicación legible por el usuario.

La diferencia entre esta cadena y la retornada por GetAppName() es que ésta está destinada a ser mostrada al usuario y debe utilizarse para los títulos de ventana, cabeceras de página, etc, mientras que la otra debe ser usada solo internamente, por ejemplo para nombres de fichero o claves de ficheros de configuración.

Si el nombre de la aplicación para mostrar fue asignado previamente mediante SetAppDisplayName(), ese será el retornado por esta función. En caso contrario, si fue invocada SetAppName(), será retornado ese valor; también tal cual. Finalmente, si ninguna de las dos fue llamada, esta función devuelve el nombre del programa con mayúsculas usando wxString::Capitalize().

GetAppName()

wxString wxAppConsole::GetAppName () const

Devuelve el nombre de la aplicación.

Si SetAppName() ha sido llamado, devuelve la cadena que se la ha pasado. En caso contrario devuelve el nombre del programa , es decir, el valor de argv[0] pasado a la función main().

Ver también

GetAppDisplayName().

GetClassName()

wxString wxAppConsole::GetClassName () const

Obtiene el nombre de la clase de la aplicación.

El nombre de la clase puede ser usado de una forma específica de la plataforma para referirse a la aplicación.

Ver también

SetClassName().

GetTraits()

wxAppTraits * wxAppConsole::GetTraits ()

Devuelve un puntero al objeto wxAppTraits de la aplicación.

Si se quiere personalizar el objeto wxAppTraits, se debe sustituir la función CreateTraits().

GetVendorDisplayName()

const wxString & wxAppConsole::GetVendorDisplayName () const

Devuelve el nombre del proveedor legible por el usuario.

La diferencia entre esta cadena y la retornada por GetVendorName() es que ésta está destinada a ser mostrada al usuario y suele ser usada en títulos de ventana, cabeceras de página, etc, mientras que la otra suele ser usada internamente, por ejemplo, para nombres de fichero o claves de ficheros de configuración.

Por defecto, devuelve la misma cadena que GetVendorName().

GetVendorName()

const wxString & wxAppConsole::GetVendorName () const

Devuelve el nombre del proveedor de la aplicación.

SetAppDisplayName()

void wxAppConsole::SetAppDisplayName (const wxString &name)

Asigna el nombre de la aplicación para ser usado en lugares visibles por el usuario como títulos de ventana.

Ver GetAppDisplayName() para más información sobre las diferencias entre los nombres.

Hay que tener en cuenta que si esta función es invocada, el nombre es usado tal cual, si ninguna capitalización que se hace por defecto por GetAppDisplayName().

SetAppName()

void wxAppConsole::SetAppName (const wxString &name)

Asigna el nombre de la aplicación.

Este nombre debe ser usado para nombres de fichero, entradas en ficheros de configuración y otras cadenas internas. Para las cadenas visibles para el usuario, como los títulos de ventana, el nombre que se usa en su lugar es el establecido por SetAppDisplayName().

Por defecto, el nombre de la aplicación es asignado al nombre de su fichero ejecutable.

Ver también

GetAppName().

SetClassName()

void wxAppConsole::SetClassName (const wxString &name)

Asigna el nombre de clase de la aplicación.

Este nombre puede ser usado de una forma específica de la plataforma para referirse a la aplicación.

Ver también

GetClassName().

SetVendorDisplayName()

void wxAppConsole::SetVendorDisplayName (const wxString &name)

Asigna el nombre del proveedor de para ser usado en lugares visibles por el usuario.

Ver GetVendorDisplayName() para más detalles sobres las diferencias entre nombres.

SetVendorName()

void wxAppConsole::SetVendorName (const wxString &name)

Asigna el nombre del proveedor de la aplicación.

El nombre será usado en acceso al registro. wxWidgets asigna un nombre por defecto.

Ver también

GetVendorName().

Funciones estáticas públicas

SetInstance ()

static void wxAppConsole::SetInstance(wxAppConsole * app)

Permite que código externo modifique wxTheApp global, pero realmente se debería saber lo que se está haciendo si se la llama.

Parámetros
app
Reemplazo del objeto de aplicación global.
Ver también

GetInstance().

GetInstance()

static wxAppConsole* wxAppConsole::GetInstance()

Devuelve el único objeto de aplicación global.

Normalmente se utiliza wxTheApp en su lugar.

Ver también

SetInstance(), wxApp::GetGUIInstance().

IsMainLoopRunning ()

static bool wxAppConsole::IsMainLoopRunning()

Devuelve true si el bucle de eventos principal se está ejecutando actualmente, es decir, si la aplicación está dentro de OnRun().

Esto puede ser útil para comprobar si los eventos pueden ser enviados. Por ejemplo, si esta función devuelve false, los sockets no bloqueantes no pueden ser usados porque los eventos de ellos nunca serían procesados.

Funciones protegidas

CreateTraits

virtual wxAppTraits* wxAppConsole::CreateTraits()

Crea el objeto wxAppTraitscuando GetTraits() lo necesita por primera vez.

Véase también

wxAppTraits.

Atributos públicos

argc

int argc

Número de argumentos de la línea de comandos (tras el procesamiento específico del entorno).

argv

wxChar ** argv

Argumentos de la línea de comandos (tras el procesamiento específico del entorno).

En Windows y Linux/Unix, debe analizar los argumentos de la línea de comandos y comprobar si hay archivos que abrir al iniciar la aplicación. En macOS, debe anular MacOpenFiles() ya que los argumentos de la línea de comandos se utilizan de forma diferente.

Se puede utilizar wxCmdLineParser para analizar los argumentos de la línea de comandos.

Métodos y datos heredados

Por supuesto, ya que esta clase hereda de wxEvtHandler y wxEventFilter, dispone de los métodos y datos miembro públicos y protegidos de ella, además de las clases que a su vez hereda de wxObject.