Condividi tramite


LPTEXTOUTPROC

Quando l'utente esegue un'operazione di controllo del codice sorgente dall'ambiente di sviluppo integrato (IDE) (IDE), il plug-in controllo del codice sorgente potrebbe essere necessario indicare l'errore o messaggi di stato per quanto riguarda l'operazione. Il plug-in consente di visualizzare le proprie finestre di messaggio per questo scopo. Tuttavia, per l'integrazione più senza, il plug-in può passare le stringhe dell'IDE, che quindi visualizzati nella modalità nativa di visualizzazione di informazioni sullo stato. il meccanismo per questo è il puntatore a funzione diLPTEXTOUTPROC . L'ide implementa questa funzione (descritta in modo più dettagliato di seguito) per visualizzare l'errore e dello stato.

L'ide passa al plug-in controllo del codice sorgente un puntatore a funzione a questa funzione, come parametro di lpTextOutProc quando chiama Funzione SccOpenProject. Durante un'operazione di SCC, ad esempio, nel mezzo di una Funzione SccGet chiamata a includere molti file, il plug-in può chiamare la funzione di LPTEXTOUTPROC , passando periodicamente le stringhe alla visualizzazione. L'ide possibile visualizzare queste stringhe in una barra di stato, in una finestra di output, o una finestra di messaggio separata, in base alle esigenze. Facoltativamente, l'ide possa essere in grado di visualizzare determinati messaggi con un pulsante di Annulla . Ciò consente all'utente di annullare l'operazione e fornisce alla possibilità di comunicare le informazioni del plug-in.

Signature

La funzione di output dell'IDE con la seguente firma:

typedef LONG (*LPTEXTOUTPROC) (
   LPSTR display_string,
   LONG mesg_type
);

Parametri

  • display_string
    Una stringa di testo da visualizzare. Questa stringa non deve essere interrotta con un ritorno a capo o un avanzamento riga.

  • mesg_type
    Il tipo di messaggio. Nella tabella seguente sono elencati i valori supportati per questo parametro.

    Valore

    Descrizione

    SCC_MSG_INFO, SCC_MSG_WARNING, SCC_MSG_ERROR

    Il messaggio viene considerato informazioni, problema, o errore.

    SCC_MSG_STATUS

    Il messaggio indica lo stato e può essere visualizzato nella barra di stato.

    SCC_MSG_DOCANCEL

    Inviato senza stringa di messaggio.

    SCC_MSG_STARTCANCEL

    Avviare visualizzato un pulsante di Annulla .

    SCC_MSG_STOPCANCEL

    Sequenza di visualizzare un pulsante di Annulla .

    SCC_MSG_BACKGROUND_IS_CANCELLED

    Chiede l'ide se l'operazione in background deve essere annullato: L'ide restituisce SCC_MSG_RTN_CANCEL se l'operazione è stata annullata; in caso contrario, restituisce SCC_MSG_RTN_OK. Il parametro di display_string viene sottoposto a cast come struttura di SccMsgDataIsCancelled , fornita dal plug-in controllo del codice sorgente.

    SCC_MSG_BACKGROUND_ON_BEFORE_GET_FILE

    Indica l'ide su un file prima che venga recuperato dal controllo della versione. Il parametro di display_string viene sottoposto a cast come struttura di SccMsgDataOnBeforeGetFile , fornita dal plug-in controllo del codice sorgente.

    SCC_MSG_BACKGROUND_ON_AFTER_GET_FILE

    Indica l'ide su un file dopo che è stato recuperato dal controllo della versione. Il parametro di display_string viene sottoposto a cast come struttura di SccMsgDataOnAfterGetFile , fornita dal plug-in controllo del codice sorgente.

    SCC_MSG_BACKGROUND_ON_MESSAGE

    Indica l'ide lo stato corrente di un'operazione in background. Il parametro di display_string viene sottoposto a cast come struttura di SccMsgDataOnMessage , fornita dal plug-in controllo del codice sorgente.

Valore restituito

Valore

Descrizione

SCC_MSG_RTN_OK

La stringa viene visualizzata o l'operazione è stata completata correttamente.

SCC_MSG_RTN_CANCEL

L'utente desidera annullare l'operazione.

Esempio

Si supponga le chiamate dell'Funzione SccGet IDE con venti nomi file. Il plug-in controllo del codice sorgente desidera impedire annullare l'operazione in corso un file per ottenere. Dopo avere ottenuto ogni file, chiama lpTextOutProc, comunicantegli le informazioni sullo stato di ogni file e invia un messaggio di SCC_MSG_DOCANCEL se non è stato da inserire nel rapporto. Se in qualsiasi momento il plug-in riceve un valore restituito di SCC_MSG_RTN_CANCEL IDE, annulla l'operazione get immediatamente, in modo che non più file viene recuperato.

Strutture

SccMsgDataIsCancelled

typedef struct {
   DWORD dwBackgroundOperationID;
} SccMsgDataIsCancelled;

Questa struttura viene inviata con il messaggio di SCC_MSG_BACKGROUND_IS_CANCELLED . Viene utilizzata per comunicare l'ID dell'operazione in background che è stata annullata.

SccMsgDataOnBeforeGetFile

typedef struct {
   DWORD dwBackgroundOperationID;
   PCSTR szFile;
} SccMsgDataOnBeforeGetFile;

Questa struttura viene inviata con il messaggio di SCC_MSG_BACKGROUND_ON_BEFORE_GET_FILE . Viene utilizzato per passare il nome del file su da recuperare e l'ID dell'operazione in background che esegue recuperare.

SccMsgDataOnAfterGetFile

typedef struct {
   DWORD dwBackgroundOperationID;
   PCSTR szFile;
   SCCRTN sResult;
} SccMsgDataOnAfterGetFile;

Questa struttura viene inviata con il messaggio di SCC_MSG_BACKGROUND_ON_AFTER_GET_FILE . Viene utilizzata per comunicare il risultato di recuperare il file specificato e l'ID dell'operazione in background che ha apportato recuperare. Visualizzare i valori restituiti per Funzione SccGet quello che può essere fornito di seguito.

SccMsgDataOnMessage

[C++]

typedef struct {
   DWORD dwBackgroundOperationID;
   PCSTR szMessage;
   BOOL bIsError;
} SccMsgDataOnMessage;

Questa struttura viene inviata con il messaggio di SCC_MSG_BACKGROUND_ON_MESSAGE . Viene utilizzato per comunicare lo stato corrente di un'operazione in background. Lo stato viene espresso come una stringa da visualizzare dall'IDE e bIsError indica la gravità del messaggio (TRUE per un messaggio di errore; FALSE per un avviso o un messaggio informativo). L'ID dell'operazione in background che invia lo stato viene inoltre fornito.

Esempio di codice

Di seguito è riportato un breve esempio di chiamare LPTEXTOUTPROC per inviare il messaggio di SCC_MSG_BACKGROUND_ON_MESSAGE , mostrando come eseguire il cast della struttura per la chiamata.

LONG SendStatusMessage(
    LPTEXTOUTPROC pTextOutProc,
    DWORD         dwBackgroundID,
    LPCTSTR       pStatusMsg,
    BOOL          bIsError)
{
    SccMsgDataOnMessage msgData = { 0 };
    LONG                result  = 0;

    msgData.dwBackgroundOperationID = dwBackgroundID;
    msgData.szMessage               = pStatusMsg;
    msgData.bIsError                = bIsError;

    result = pTextOutProc(reinterpret_cast<LPCTSTR>(&msgData), SCC_MSG_BACKGROUND_ON_MESSAGE);
    return result;
}

Vedere anche

Altre risorse

Funzioni di callback implementate da IDE

Plug-in del controllo del codice sorgente