⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 channelselect.c

📁 可编程器件厂商Xilinx的手持式逻辑分析仪的逻辑设计
💻 C
📖 第 1 页 / 共 2 页
字号:
/*============================================================================*/
/* Filename:    ChannelSelect.c                                               */
/*                                                                            */
/* Description: This file contains the functions that receive and handle the  */
/*              events generated by the ChannelSelect Form of the             */
/*              PocketAnalyser application.                                   */
/*                                                                            */
/* Required Header File(s): PalmOS.h                                          */
/*                          PocketAnalyzerRsc.h                               */
/*                          Globals.h                                         */
/*                                                                            */
/* Function List:                                                             */
/*      ChannelSelectHandleEvent                                              */
/*                          This function is the event handler for the        */
/*                          ChannelSelect Form.  It checks each event and     */
/*                          calls the appropriate function(s) to respond to   */
/*                          it.                                               */
/*      TriggerDefDoCommand                                                   */
/*                          This function handles all of the menu events from */
/*                          the ChannelSelect Form Menu.                      */
/*                                                                            */
/*============================================================================*/
/* COPYRIGHT (C) 2001                                                         */
/* NowTech, LLC                                                               */
/* Knoxville, TN                                                              */
/*                                                                            */
/* ALL RIGHTS RESERVED                                                        */
/*                                                                            */
/* This software and all information and ideas contained within are the sole  */
/* property of NowTech, LLC and are confidential.  Neither this software nor  */
/* any part nor any information contained in it may be disclosed or furnished */
/* to others without the prior written consent of NowTech, LLC.               */
/*                                                                            */
/*============================================================================*/

/*============================================================================*/
/* System Level Include Files:                                                */
/*============================================================================*/
#include <PalmOS.h>

/*============================================================================*/
/* Project Specific Include Files:                                            */
/*============================================================================*/
#include "PocketAnalyzerRsc.h"
#include "GlobalDefs.h"

/*============================================================================*/
/* Define any data structures that are used exclusively by the functions      */
/* local to this source file.                                                 */
/*============================================================================*/
/***** None *****/

/*============================================================================*/
/* Define all constants used by the functions in this source file.            */
/*============================================================================*/
/***** None *****/

/*============================================================================*/
/* Define all variables which must have project global scope.  All variables  */
/* defined in this section will be accessible by all functions in all source  */
/* files in this project and must have a corresponding extern statement in    */
/* the GlobalDefs.h include file.                                             */
/*============================================================================*/
/***** None *****/

/*============================================================================*/
/* Define all variables which must have source file global scope but not have */
/* project wide scope.  These variables must be defined with the "static"     */
/* type qualifier so that the variables scope will be limited to only the     */
/* functions in this source file.                                             */
/*============================================================================*/
/***** None *****/

/*============================================================================*/
/* Define the function prototypes for all local functions.  The prototypes    */
/* for all global functions should be defined in the GlobalDefs.h include     */
/* file.                                                                      */
/*============================================================================*/
void ChannelSelectFormInit (FormPtr);
Boolean ChannelSelectDoCommand (UInt16);


/*============================================================================*/
/* Function:            ChannelSelectHandleEvent                              */
/* Description:         This routine is the event handler for the             */
/*                      ChannelSelect Form of the PocketAnalyzer application. */
/*                                                                            */
/* Arguments:           pEvent = a pointer to an EventType structure          */
/* Returns:             bHandled = TRUE if the event is handled and should    */
/*                                 not be passed to a higher level handler.   */
/*                                 FALSE if the event was not handled and     */
/*                                 should be passed to the next higher level  */
/*                                 handler.                                   */
/* Globals affected:    None                                                  */
/* Hardware affected:   None                                                  */
/*                                                                            */
/*============================================================================*/
/* Change History:                                                            */
/*                                                                            */
/* ECO#:  ?                                                                   */
/* Change Date:  dd-mmm-yyyy                                                  */
/* Changed By:   ?                                                            */
/* Description of Change:  ?                                                  */
/*                                                                            */
/*============================================================================*/
Boolean ChannelSelectHandleEvent(EventPtr pEvent)
{
    /*========================================================================*/
    /* Declare all local variables.                                           */
    /*========================================================================*/
    Boolean bHandled = false;
    FormPtr pFrm;
    Boolean bValue;
    UInt8   ChnlCnt = 0;

    /*========================================================================*/
    /* Check the event type to see how to respond.                            */
    /*========================================================================*/
    switch (pEvent->eType)
        {
        case menuEvent:
            return ChannelSelectDoCommand(pEvent->data.menu.itemID);
            break;

        case frmOpenEvent:
            pFrm = FrmGetActiveForm();
            ChannelSelectFormInit (pFrm);
            FrmDrawForm (pFrm);
            bHandled = true;
            break;

        case ctlSelectEvent:
            switch (pEvent->data.ctlSelect.controlID)

            {
                /*============================================================*/
                /* The user has selected to save the modified data and then   */
                /* return to the Main Screen.                                 */
                /*============================================================*/
                case frmChnlSelectDoneButton:
                    pFrm = FrmGetActiveForm();

                    /*========================================================*/
                    /* Save the value of the Channel 7 display state to the   */
                    /* applications preferences structure.                    */
                    /*========================================================*/
                    bValue = CtlGetValue (
                             GetObjectPtr(frmChnlSelectCh7SelectCheckbox));
                    if (bValue == true)
                    {
                        AppPrefs.bChnlOn[7] = true;
                        ChnlCnt++;
                    }
                    else
                        AppPrefs.bChnlOn[7] = false;

                    /*========================================================*/
                    /* Save the value of the Channel 6 display state to the   */
                    /* applications preferences structure.                    */
                    /*========================================================*/
                    bValue = CtlGetValue (
                             GetObjectPtr(frmChnlSelectCh6SelectCheckbox));
                    if (bValue == true)
                    {
                        AppPrefs.bChnlOn[6] = true;
                        ChnlCnt++;
                    }
                    else
                        AppPrefs.bChnlOn[6] = false;

                    /*========================================================*/
                    /* Save the value of the Channel 5 display state to the   */
                    /* applications preferences structure.                    */
                    /*========================================================*/
                    bValue = CtlGetValue (
                             GetObjectPtr(frmChnlSelectCh5SelectCheckbox));
                    if (bValue == true)
                    {
                        AppPrefs.bChnlOn[5] = true;
                        ChnlCnt++;
                    }
                    else
                        AppPrefs.bChnlOn[5] = false;

                    /*========================================================*/
                    /* Save the value of the Channel 4 display state to the   */
                    /* applications preferences structure.                    */
                    /*========================================================*/
                    bValue = CtlGetValue (
                             GetObjectPtr(frmChnlSelectCh4SelectCheckbox));
                    if (bValue == true)
                    {
                        AppPrefs.bChnlOn[4] = true;
                        ChnlCnt++;
                    }
                    else
                        AppPrefs.bChnlOn[4] = false;

                    /*========================================================*/
                    /* Save the value of the Channel 3 display state to the   */
                    /* applications preferences structure.                    */
                    /*========================================================*/
                    bValue = CtlGetValue (
                             GetObjectPtr(frmChnlSelectCh3SelectCheckbox));
                    if (bValue == true)
                    {
                        AppPrefs.bChnlOn[3] = true;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -