MainWindow.h
changeset 12 7268128148b8
parent 11 11a0e8a2346e
child 13 69f1fcfdf6a5
     1.1 --- a/MainWindow.h	Wed May 21 22:55:14 2014 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,128 +0,0 @@
     1.4 -
     1.5 -
     1.6 -#ifndef MAIN_WINDOW_H
     1.7 -#define MAIN_WINDOW_H
     1.8 -
     1.9 -#include <fx.h>
    1.10 -#include "hidapi.h"
    1.11 -#include "mac_support.h"
    1.12 -#include <string.h>
    1.13 -#include <stdlib.h>
    1.14 -#include <limits.h>
    1.15 -#include "FutabaVfd.h"
    1.16 -
    1.17 -#ifdef _WIN32
    1.18 -// Thanks Microsoft, but I know how to use strncpy().
    1.19 -#pragma warning(disable:4996)
    1.20 -#endif
    1.21 -
    1.22 -class MainWindow : public FXMainWindow {
    1.23 -    FXDECLARE(MainWindow)
    1.24 -
    1.25 -public:
    1.26 -    enum {
    1.27 -        ID_FIRST = FXMainWindow::ID_LAST,
    1.28 -        ID_CONNECT,
    1.29 -        ID_DISCONNECT,
    1.30 -        ID_RESCAN,
    1.31 -        ID_SEND_OUTPUT_REPORT,
    1.32 -        ID_SEND_FEATURE_REPORT,
    1.33 -        ID_GET_FEATURE_REPORT,
    1.34 -        ID_CLEAR,
    1.35 -        ID_TIMER,
    1.36 -        ID_MAC_TIMER,
    1.37 -        ID_FUTABA_CLEAR_DISPLAY,
    1.38 -        ID_FUTABA_DIMMING,
    1.39 -        ID_FUTABA_DISPLAY_DATA_INPUT,
    1.40 -        ID_FUTABA_READ_ID,
    1.41 -        ID_FUTABA_READ_FIRMWARE_REVISION,
    1.42 -        ID_FUTABA_POWER_SUPPLY_MONITOR,
    1.43 -        ID_FUTABA_SET_PIXEL,
    1.44 -        ID_FUTABA_RESET_PIXEL,
    1.45 -        ID_FUTABA_SET_ALL_PIXELS,
    1.46 -        ID_SELECT_FONT,
    1.47 -        ID_LAST
    1.48 -    };
    1.49 -
    1.50 -    size_t getDataFromTextField(FXTextField *tf, char *buf, size_t len);
    1.51 -    int getLengthFromTextField(FXTextField *tf);
    1.52 -
    1.53 -protected:
    1.54 -    MainWindow() {};
    1.55 -public:
    1.56 -    MainWindow(FXApp *a);
    1.57 -    ~MainWindow();
    1.58 -    virtual void create();
    1.59 -
    1.60 -    long onConnect(FXObject *sender, FXSelector sel, void *ptr);
    1.61 -    long onDisconnect(FXObject *sender, FXSelector sel, void *ptr);
    1.62 -    long onRescan(FXObject *sender, FXSelector sel, void *ptr);
    1.63 -    long onSendOutputReport(FXObject *sender, FXSelector sel, void *ptr);
    1.64 -    long onSendFeatureReport(FXObject *sender, FXSelector sel, void *ptr);
    1.65 -    long onGetFeatureReport(FXObject *sender, FXSelector sel, void *ptr);
    1.66 -    long onClear(FXObject *sender, FXSelector sel, void *ptr);
    1.67 -    //
    1.68 -    long onFutabaClearDisplay(FXObject *sender, FXSelector sel, void *ptr);
    1.69 -    long onFutabaDimming(FXObject *sender, FXSelector sel, void *ptr);
    1.70 -    long onFutabaDisplayDataInput(FXObject *sender, FXSelector sel, void *ptr);
    1.71 -    long onFutabaReadId(FXObject *sender, FXSelector sel, void *ptr);
    1.72 -    long onFutabaReadFirmwareRevision(FXObject *sender, FXSelector sel, void *ptr);
    1.73 -    long onFutabaPowerSupplyMonitor(FXObject *sender, FXSelector sel, void *ptr);
    1.74 -    long onFutabaSetAllPixels(FXObject *sender, FXSelector sel, void *ptr);
    1.75 -    long onFutabaSetPixel(FXObject *sender, FXSelector sel, void *ptr);
    1.76 -    long onFutabaResetPixel(FXObject *sender, FXSelector sel, void *ptr);
    1.77 -    //
    1.78 -    long onSelectFont(FXObject *sender, FXSelector sel, void *ptr);
    1.79 -    //
    1.80 -    long onTimeout(FXObject *sender, FXSelector sel, void *ptr);
    1.81 -    long onMacTimeout(FXObject *sender, FXSelector sel, void *ptr);
    1.82 -    //
    1.83 -    void SetPixel(int aX, int aY, unsigned char aValue);
    1.84 -    void SetPixelBlock(int aX, int aY, int aHeight, int aSize, unsigned char aValue);
    1.85 -
    1.86 -private:
    1.87 -    FXList *device_list;
    1.88 -    FXButton *connect_button;
    1.89 -    FXButton *disconnect_button;
    1.90 -    FXButton *rescan_button;
    1.91 -    FXButton *output_button;
    1.92 -    FXLabel *connected_label;
    1.93 -    FXTextField *output_text;
    1.94 -    FXTextField *output_len;
    1.95 -    FXButton *feature_button;
    1.96 -    FXButton *get_feature_button;
    1.97 -    FXTextField *feature_text;
    1.98 -    FXTextField *feature_len;
    1.99 -    FXTextField *get_feature_text;
   1.100 -    FXText *input_text;
   1.101 -    FXFont *title_font;
   1.102 -    //Futaba VFD control
   1.103 -    FXButton *iButtonClearDisplay;
   1.104 -    FXButton *iButtonDimming;
   1.105 -    FXButton *iButtonDisplayDataInput;
   1.106 -    FXButton *iButtonReadId;
   1.107 -    FXButton *iButtonReadFirmwareRevision;
   1.108 -    FXButton *iButtonPowerSupplyMonitor;
   1.109 -    FXTextField *iTextFieldX;
   1.110 -    FXTextField *iTextFieldY;
   1.111 -    FXButton *iButtonSetPixel;
   1.112 -    FXButton *iButtonResetPixel;
   1.113 -    FXButton *iButtonSetAllPixels;
   1.114 -    //Font
   1.115 -    FXButton *iButtonSelectFont;
   1.116 -
   1.117 -    unsigned char* iOutputReportBuffer;
   1.118 -    unsigned char iDimming; //Current VFD dimming
   1.119 -    FXFontDesc iCurrentFontDesc;
   1.120 -    FXFont* iCurrentFont;
   1.121 -    FXTGAImage* iFontImage;
   1.122 -
   1.123 -    struct hid_device_info *devices;
   1.124 -    hid_device *connected_device;
   1.125 -
   1.126 -	//Futaba
   1.127 -	GP1212A01A iVfd01;
   1.128 -
   1.129 -};
   1.130 -
   1.131 -#endif //
   1.132 \ No newline at end of file