//==============================================================================
// WARNING!! This file is overwritten by the Block UI Styler while generating
// the automation code. Any modifications to this file will be lost after
// generating the code again.
//
// Filename: D:\DS_tool\application\pressure_plate.cpp
//
// This file was generated by the NX Block UI Styler
// Created by: Administrator
// Version: NX 10
// Date: 06-19-2022 (Format: mm-dd-yyyy)
// Time: 22:59 (Format: hh-mm)
//
//==============================================================================
//==============================================================================
//==============================================================================
//These includes are needed for the following template code
#include "pressure_plate.hpp"
using namespace NXOpen;
using namespace NXOpen::BlockStyler;
Session *(pressure_plate::theSession) = NULL;
UI *(pressure_plate::theUI) = NULL;
pressure_plate::pressure_plate()
{
try
{
pressure_plate::theSession = NXOpen::Session::GetSession();
pressure_plate::theUI = UI::GetUI();
theDlxFileName = "pressure_plate.dlx";
theDialog = pressure_plate::theUI->CreateDialog(theDlxFileName);
theDialog->AddApplyHandler(make_callback(this, &pressure_plate::apply_cb));
theDialog->AddOkHandler(make_callback(this, &pressure_plate::ok_cb));
theDialog->AddUpdateHandler(make_callback(this, &pressure_plate::update_cb));
theDialog->AddCancelHandler(make_callback(this, &pressure_plate::cancel_cb));
theDialog->AddFilterHandler(make_callback(this, &pressure_plate::filter_cb));
theDialog->AddInitializeHandler(make_callback(this, &pressure_plate::initialize_cb));
theDialog->AddDialogShownHandler(make_callback(this, &pressure_plate::dialogShown_cb));
}
catch(exception& ex)
{
throw;
}
}
pressure_plate::~pressure_plate()
{
if (theDialog != NULL)
{
delete theDialog;
theDialog = NULL;
}
}
extern "C" DllExport void ufusr(char *param, int *retcod, int param_len)
{
pressure_plate *thepressure_plate = NULL;
try
{
thepressure_plate = new pressure_plate();
thepressure_plate->Show();
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
if(thepressure_plate != NULL)
{
delete thepressure_plate;
thepressure_plate = NULL;
}
}
#include
#include
#include
#include
#include
#include
#include <string.h>
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
extern "C" DllExport int ufusr_ask_unload()
{
//return (int)Session::LibraryUnloadOptionExplicitly;
return (int)Session::LibraryUnloadOptionImmediately;
//return (int)Session::LibraryUnloadOptionAtTermination;
}
extern "C" DllExport void ufusr_cleanup(void)
{
try
{
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}
int pressure_plate::Show()
{
try
{
theDialog->Show();
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
return 0;
}
//------------------------------------------------------------------------------
//Callback Name: initialize_cb
//------------------------------------------------------------------------------
void pressure_plate::initialize_cb()
{
try
{
buttonP1 = theDialog->TopBlock()->FindBlock("buttonP1");
buttonData = theDialog->TopBlock()->FindBlock("buttonData");
buttonData1 = theDialog->TopBlock()->FindBlock("buttonData1");
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}
//------------------------------------------------------------------------------
//Callback Name: dialogShown_cb
//------------------------------------------------------------------------------
void pressure_plate::dialogShown_cb()
{
try
{
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
}
//------------------------------------------------------------------------------
//Callback Name: apply_cb
//------------------------------------------------------------------------------
int pressure_plate::apply_cb()
{
int errorCode = 0;
try
{
}
catch(exception& ex)
{
errorCode = 1;
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
return errorCode;
}
//------------------------------------------------------------------------------
//Callback Name: update_cb
//------------------------------------------------------------------------------
int pressure_plate::update_cb(NXOpen::BlockStyler::UIBlock* block)
{
try
{
if(block == buttonP1)
{
}
else if(block == buttonData)
{
//用记事本打开文件
char txt[256+1] = "D:\\DS_tool\\datebase\\pressure_plate.txt";
char eexe[512] =" ";
sprintf(eexe, "notepad.exe %s", txt);
LPWSTR txtt = CA2W(eexe);
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi = {0};
if( CreateProcess(NULL, txtt, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) )
{
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
}
else if(block == buttonData1)
{
//打开文件夹
ShellExecute(NULL, _T("open"), _T("D:\\DS_tool\\datebase\\pressure_plate.xlsx"), NULL, NULL, SW_SHOW);
}
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
return 0;
}
//------------------------------------------------------------------------------
//Callback Name: ok_cb
//------------------------------------------------------------------------------
int pressure_plate::ok_cb()
{
int errorCode = 0;
try
{
errorCode = apply_cb();
}
catch(exception& ex)
{
errorCode = 1;
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
return errorCode;
}
//------------------------------------------------------------------------------
//Callback Name: cancel_Cb
//------------------------------------------------------------------------------
int pressure_plate::cancel_cb()
{
try
{
}
catch(exception& ex)
{
pressure_plate::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
}
return 0;
}
//------------------------------------------------------------------------------
//Callback Name: filter_cb
//------------------------------------------------------------------------------
int pressure_plate::filter_cb(NXOpen::BlockStyler::UIBlock* block, NXOpen::TaggedObject* selectObject)
{
return(UF_UI_SEL_ACCEPT);
}
//------------------------------------------------------------------------------
//Function Name: GetBlockProperties
//Description: Returns the propertylist of the specified BlockID
PropertyList* pressure_plate::GetBlockProperties(const char *blockID)
{
return theDialog->GetBlockProperties(blockID);
}