<commit_before>/***********************************************************/
/*                      wxPcbStruct.h                      */
/***********************************************************/

#ifndef  WXPCB_STRUCT_H
#define  WXPCB_STRUCT_H


#include "wxstruct.h"
#include "base_struct.h"
#include "layer_widget.h"

#ifndef PCB_INTERNAL_UNIT
#define PCB_INTERNAL_UNIT 10000
#endif


/*  Forward declarations of classes. */
class PCB_SCREEN;
class WinEDA_Toolbar;
class WinEDA_ModuleEditFrame;
class BOARD;
class TEXTE_PCB;
class MODULE;
class TRACK;
class SEGZONE;
class SEGVIA;
class D_PAD;
class TEXTE_MODULE;
class MIREPCB;
class COTATION;
class EDGE_MODULE;
class WinEDA3D_DrawFrame;
class DRC;
class ZONE_CONTAINER;
class DRAWSEGMENT;
class GENERAL_COLLECTOR;
class GENERAL_COLLECTORS_GUIDE;


/**
 * @info see also class WinEDA_BasePcbFrame: Basic class for pcbnew and
 *gerbview
 */


/*****************************************************/
/* class WinEDA_PcbFrame: the main frame for Pcbnew  */
/*****************************************************/
class WinEDA_PcbFrame : public WinEDA_BasePcbFrame
{
protected:

    /**
     * Class LYRS
     * is here to implement the abtract functions of LAYER_WIDGET so they
     * may be tied into this frame's data.
     */
    class LYRS : public LAYER_WIDGET
    {
        WinEDA_PcbFrame*    myframe;

    public:
        LYRS( WinEDA_PcbFrame* aParent ) :
            LAYER_WIDGET( aParent ),
            myframe( aParent )
        {
        }

        //-----<implement LAYER_WIDGET abstract callback functions>-----------
        void OnLayerColorChange( int aLayer, int aColor );
        bool OnLayerSelect( int aLayer );
        void OnLayerVisible( int aLayer, bool isVisible, bool isFinal );
        void OnRenderColorChange( int aId, int aColor );
        void OnRenderEnable( int aId, bool isEnabled );
        //-----</implement LAYER_WIDGET abstract callback functions>----------
    };

    LYRS*            m_Layers;              // established in constructor

public:
    WinEDAChoiceBox* m_SelLayerBox;         // a combo box to display and
                                            // select active layer
    WinEDAChoiceBox* m_SelTrackWidthBox;    // a combo box to display and
                                            // select current track width
    WinEDAChoiceBox* m_SelViaSizeBox;       // a combo box to display and
                                            // select current via diameter
    wxTextCtrl*      m_ClearanceBox;        // a text ctrl to display the
                                            // current tracks and vias
                                            // clearance
    wxTextCtrl*      m_NetClassSelectedBox; // a text ctrl to display the
                                            // current NetClass
    bool             m_TrackAndViasSizesList_Changed;

    bool             m_show_microwave_tools;<commit_msg>improved focus handling, still need to handle the tab change<commit_after>/***********************************************************/
/*                      wxPcbStruct.h                      */
/***********************************************************/

#ifndef  WXPCB_STRUCT_H
#define  WXPCB_STRUCT_H


#include "wxstruct.h"
#include "base_struct.h"
#include "layer_widget.h"

#ifndef PCB_INTERNAL_UNIT
#define PCB_INTERNAL_UNIT 10000
#endif


/*  Forward declarations of classes. */
class PCB_SCREEN;
class WinEDA_Toolbar;
class WinEDA_ModuleEditFrame;
class BOARD;
class TEXTE_PCB;
class MODULE;
class TRACK;
class SEGZONE;
class SEGVIA;
class D_PAD;
class TEXTE_MODULE;
class MIREPCB;
class COTATION;
class EDGE_MODULE;
class WinEDA3D_DrawFrame;
class DRC;
class ZONE_CONTAINER;
class DRAWSEGMENT;
class GENERAL_COLLECTOR;
class GENERAL_COLLECTORS_GUIDE;


/**
 * @info see also class WinEDA_BasePcbFrame: Basic class for pcbnew and
 *gerbview
 */


/*****************************************************/
/* class WinEDA_PcbFrame: the main frame for Pcbnew  */
/*****************************************************/
class WinEDA_PcbFrame : public WinEDA_BasePcbFrame
{
protected:

    /**
     * Class LYRS
     * is here to implement the abtract functions of LAYER_WIDGET so they
     * may be tied into this frame's data.
     */
    class LYRS : public LAYER_WIDGET
    {
        WinEDA_PcbFrame*    myframe;

    public:
        LYRS( WinEDA_PcbFrame* aParent, wxWindow* aFocusOwner ) :
            LAYER_WIDGET( aParent, aFocusOwner ),
            myframe( aParent )
        {
        }

        //-----<implement LAYER_WIDGET abstract callback functions>-----------
        void OnLayerColorChange( int aLayer, int aColor );
        bool OnLayerSelect( int aLayer );
        void OnLayerVisible( int aLayer, bool isVisible, bool isFinal );
        void OnRenderColorChange( int aId, int aColor );
        void OnRenderEnable( int aId, bool isEnabled );
        //-----</implement LAYER_WIDGET abstract callback functions>----------
    };

    LYRS*            m_Layers;              // established in constructor

public:
    WinEDAChoiceBox* m_SelLayerBox;         // a combo box to display and
                                            // select active layer
    WinEDAChoiceBox* m_SelTrackWidthBox;    // a combo box to display and
                                            // select current track width
    WinEDAChoiceBox* m_SelViaSizeBox;       // a combo box to display and
                                            // select current via diameter
    wxTextCtrl*      m_ClearanceBox;        // a text ctrl to display the
                                            // current tracks and vias
                                            // clearance
    wxTextCtrl*      m_NetClassSelectedBox; // a text ctrl to display the
                                            // current NetClass
    bool             m_TrackAndViasSizesList_Changed;

    bool             m_show_microwave_tools;
{'fraction_non_alphanumeric': 0.14374475230898404, 'fraction_numerical': 0.0020151133501259445, 'mean_word_length': 2.1036998436685774, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 24, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2091598', 'n_tokens_mistral': 1682, 'n_tokens_neox': 1611, 'n_words': 465}