source: branches/work_311/doc/actions/DocOpenWindowAction.cpp @ 604

Revision 604, 19.1 KB checked in by jls17, 5 years ago (diff)
Line 
1//Copyright (C) 2014 John Luthgers | jls17
2//
3//This file is part of ARInside.
4//
5//    ARInside is free software: you can redistribute it and/or modify
6//    it under the terms of the GNU General Public License as published by
7//    the Free Software Foundation, version 2 of the License.
8//
9//    ARInside is distributed in the hope that it will be useful,
10//    but WITHOUT ANY WARRANTY; without even the implied warranty of
11//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12//    GNU General Public License for more details.
13//
14//    You should have received a copy of the GNU General Public License
15//    along with ARInside.  If not, see <http://www.gnu.org/licenses/>.
16
17#include "stdafx.h"
18#include "DocAlMessageAction.h"
19#include "DocOpenWindowAction.h"
20#include "../../core/ARQualification.h"
21#include "../../core/ARAssignHelper.h"
22#include "../../core/OpenWindowHelper.h"
23#include "../../core/OpenWindowSampleData.h"
24#include "../../output/ObjNotFound.h"
25#include "../../output/URLLink.h"
26#include "../../util/Context.h"
27
28DocOpenWindowAction::DocOpenWindowAction(Context &theContext, const AROpenDlgStruct &theAction)
29:       context(theContext), action(theAction)
30{
31}
32
33void DocOpenWindowAction::ToStream(std::ostream& strm)
34{
35        try
36        {
37                CARInside* arIn = &context.getInside();
38                string openWindowServer;
39                string openWindowSchemaName;
40                CARSchema attachedSchema(context.getCurrentSchemaId());
41                CDocActionOpenWindowHelper reportData(action.reportString);
42
43                // check if we need to get the sample data
44                if(action.serverName[0] == '$')
45                {
46                        OpenWindowSampleData::GetSampleData(context.getActLink(), context.getIfElse(), context.getActionIndex(), openWindowServer, openWindowSchemaName);
47                }
48
49                // window type
50                int windowMode = CAREnum::OpenWindowModeMapped(action.windowMode);
51                strm << "<p>Window Type: " << CAREnum::OpenWindowMode(windowMode) << endl;
52
53                // display type
54                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_MODIFY || windowMode == AR_ACTIVE_LINK_ACTION_OPEN_DSPLY)
55                {
56                        strm << "<br/>Display Type: " << CAREnum::OpenWindowDisplayType(action.windowMode) << endl;
57                }
58
59                // target location
60                if (ActionOpenDlgTargetLocation(windowMode))
61                {
62                        strm << "<br/>Target Location: ";
63
64                        if (action.targetLocation != NULL) 
65                        {
66                                if (action.targetLocation[0] == '$')
67                                {
68                                        int fieldId = atoi(&action.targetLocation[1]);
69                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context.getCurrentSchemaId(), fieldId, context.getRootLevel())) << "$";
70
71                                        if (fieldId > 0)
72                                        {
73                                                CRefItem refItem(context, REFM_OPENWINDOW_LOCATION);
74                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
75                                        }
76                                }
77                                else
78                                {
79                                        strm << action.targetLocation;
80                                }
81                        }
82                        strm << endl;
83                }
84
85                // show "inline form" option
86                if (ActionOpenDlgInlineForm(windowMode))
87                {
88                        strm << "<br/><input type=\"checkbox\" name=\"inlineForm\" value=\"inline\" " << (reportData.getInlineForm().compare("true")==0 ? "checked" : "") << ">Inline Form<br/>" << endl;
89                }
90
91                strm << "</p>" << endl;
92
93                // ****************************************************
94                // server
95                strm << "<p>Server Name: ";
96                if(action.serverName[0] == '$' && !openWindowServer.empty())
97                {
98                        int fieldId = atoi(&action.serverName[1]);
99                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$ (Sample Server: " << arIn->LinkToServerInfo(context, openWindowServer) << ")";
100
101                        if (fieldId > 0)
102                        {
103                                CRefItem refItem(context, REFM_OPENWINDOW_SERVER);
104                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
105                        }
106                }
107                else
108                {
109                        openWindowServer = action.serverName;
110                        strm << arIn->LinkToServerInfo(context, openWindowServer);
111                }
112
113                strm << "<br/>Form Name: ";
114                if (action.schemaName[0] == '$')
115                {
116                        int fieldId = atoi(&action.schemaName[1]);
117                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$ (Sample Schema: " << arIn->LinkToSchema(openWindowSchemaName, context.getRootLevel()) << ")";
118
119                        if (fieldId > 0)
120                        {
121                                CRefItem refItem(context, REFM_OPENWINDOW_FORM);
122                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
123                        }
124
125                        if (fieldId == (-AR_KEYWORD_SCHEMA)) openWindowSchemaName = attachedSchema.GetName();
126                }
127                else
128                {
129                        openWindowSchemaName = action.schemaName;
130                        strm << arIn->LinkToSchema(openWindowSchemaName, context.getRootLevel()) << endl;
131                }
132
133                LookupFormContext openWindowContext(context, openWindowSchemaName);
134                CARSchema openWindowSchema(openWindowContext.getLookupSchemaId());
135
136                strm << "<br/>View Name: ";
137                if(action.vuiLabel[0] == '$')// == NULL || strcmp(action.vuiLabel, "")==0)
138                {
139                        int fieldId = atoi(&action.vuiLabel[1]);
140                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
141
142                        if (fieldId > 0)
143                        {
144                                CRefItem refItem(context, REFM_OPENWINDOW_VIEW);
145                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
146                        }
147                }
148                else
149                {
150                        if (action.vuiLabel[0] == 0)
151                        { 
152                                strm << "(Clear)" << endl;
153                        }
154                        else
155                        {
156                                if (!openWindowSchema.Exists())
157                                {
158                                        ObjNotFound notFound(strm);
159                                        notFound << action.vuiLabel;
160                                        notFound.End();
161                                }
162                                else
163                                {
164                                        CARVui vui(openWindowSchema.GetInsideId(), action.vuiLabel);
165                                        if (vui.Exists())
166                                                strm << URLLink(vui, context.getRootLevel());
167                                        else
168                                        {
169                                                ObjNotFound notFound(strm);
170                                                notFound << action.vuiLabel;
171                                                notFound.End();
172                                        }
173                                }
174                        }
175                }
176                strm << "</p>" << endl;
177
178                // report details here
179                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_REPORT)
180                {
181                        if (!reportData.IsValid())
182                        {
183                                strm << "<p>";
184                                ObjNotFound notFound(strm);
185                                notFound << "Could not load report informations!";
186                                notFound.End();
187                                strm << "</p>";
188                        }
189                        else
190                        {
191                                string reportType = reportData.getReportType();
192                                string reportLocation = reportData.getReportLocation();
193                                string reportName = reportData.getReportName();
194                                string reportDestination = reportData.getReportDestination();
195
196                                strm << "<p>Report Type: ";                             
197                                if (!reportType.empty() && reportType[0] == '$')
198                                {
199                                        int fieldId = atoi(&reportType.c_str()[1]);
200                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
201                                        if (fieldId > 0)
202                                        {
203                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTTYPE);
204                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
205                                        }
206                                }
207                                else
208                                {
209                                        strm << reportType;
210                                }
211                                strm <<  "<br/>";
212
213                                int iReportLocation = atoi(reportLocation.c_str());
214                                strm << "Report Location: " << CAREnum::ReportLocation(iReportLocation);
215                               
216                                strm << "<br/>Report Name: ";
217                                if (!reportName.empty() && reportName[0] == '$')
218                                {
219                                        int fieldId = atoi(&reportName.c_str()[1]);
220                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
221                                        if (fieldId > 0)
222                                        {
223                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTNAME);
224                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
225                                        }
226                                }
227                                else
228                                {
229                                        strm << reportName;
230                                }
231                                strm << "<br/>";
232                               
233                                // to-screen:
234                                // to-print:
235                                // to-file:
236                                strm << "Report Destination: ";
237                                if (!reportDestination.empty() && reportDestination[0] == '$')
238                                {
239                                        int fieldId = atoi(&reportDestination.c_str()[1]);
240                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
241                                        if (fieldId > 0)
242                                        {
243                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTDESTINATION);
244                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
245                                        }
246                                }
247                                else
248                                {
249                                        // map the string value to the displayed combobox item of dev studio
250                                        strm << reportDestination;
251                                }
252                                strm << "</p>";
253                        }
254                }
255
256                // qualification
257                if(ActionOpenDlgQualifier(action.windowMode))
258                {
259                        if(action.query.operation != AR_COND_OP_NONE)
260                        {
261                                stringstream strmTmpQual;
262
263                                CRefItem refItem(context, REFM_OPENWINDOW_QUALIFICATION);
264                                MappingContext qualContext(context, openWindowSchema.GetInsideId());
265
266                                strmTmpQual.str("");
267                                CARQualification arQual(qualContext, refItem);
268                                arQual.CheckQuery(&action.query, strmTmpQual);
269
270                                strm << "<p>Qualification:<br/>" << endl;
271                                strm << strmTmpQual.str() << "</p>";
272                        }       
273                }
274
275                strm << "<p>";
276                // show close button
277                if (ActionOpenDlgCloseButton(windowMode))
278                {
279                        strm << "<input type=\"checkbox\" name=\"closeWnd\" value=\"closeWndAll\" " << (action.closeBox ? "checked" : "") << ">Show Close Button in Dialog<br/>" << endl;
280                }
281
282                // suppres empty list
283                if (ActionOpenDlgSuppressEmptyList(windowMode))
284                {
285                        strm << "<input type=\"checkbox\" name=\"suprEmptyLst\" value=\"suprEmptyLstVal\" " << (action.suppressEmptyLst ? "checked" : "") << ">Suppress Empty List<br/>" << endl;               
286                }
287
288                // set fields to defaults
289                bool setToDefault = false;
290                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_SEARCH || windowMode == AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT)
291                {
292
293                        for(unsigned int i= 0; i < action.inputValueFieldPairs.numItems; ++i)
294                        {
295                                if (action.inputValueFieldPairs.fieldAssignList[i].fieldId == AR_SET_DEFAULTS_ID)
296                                {
297                                        setToDefault = true;
298                                        break;
299                                }
300                        }
301
302                        strm << "<input type=\"checkbox\" name=\"setToDefault\" value=\"setToDefaultVal\" " << (setToDefault ? "checked" : "") << ">Set Fields To Defaults<br/>" << endl;               
303                }
304
305                // input mapping
306                if (ActionOpenDlgInputMapping(windowMode) && !setToDefault)
307                {
308                        MappingContext mappingContext(context);
309                        mappingContext.setPrimarySchemaId(openWindowSchema.GetInsideId());
310                        mappingContext.setSecondarySchemaId(context.getCurrentSchemaId());
311
312                        CARAssignHelper assignHelper(mappingContext);
313                        strm << assignHelper.OpenWindowAssignment(action.inputValueFieldPairs, mappingContext.getActionIndex(), mappingContext.getIfElse(), OWM_OPEN);
314                }
315
316                // output mapping (dialog on close)
317                if (ActionOpenDlgOutputMapping(windowMode))
318                {
319                        strm << "On Dialog Close Action:<br/>";
320
321                        MappingContext mappingContext(context, openWindowSchema.GetInsideId());
322
323                        CARAssignHelper assignHelper(mappingContext);
324                        strm << assignHelper.OpenWindowAssignment(action.outputValueFieldPairs, mappingContext.getActionIndex(), mappingContext.getIfElse(), OWM_CLOSE);
325                }
326                strm << "</p>";
327
328                if (ActionOpenDlgMessage(windowMode))
329                {
330                        // message
331                        strm << "<p>If No Request Match: ";
332                        if (action.noMatchContinue)
333                        {
334                                strm << "Do not show any message";
335                        }
336                        else if (action.msg.messageText == NULL || action.msg.messageText[0] == 0)      // dont know, if thats the correct criteria for the default message
337                        {
338                                strm << "Show default message";
339                        }
340                        else if (action.msg.messageType > 0)
341                        {
342                                strm << "Show message<br/>";
343                               
344                                DocAlMessageAction docMessage(context, action.msg);
345                                docMessage.ToStream(strm);
346                        }
347                        strm << "</p>" << endl;
348
349                        // sorting
350                        if (action.sortOrderList.numItems > 0) 
351                        {
352                                CTable tblSortList("sortList", "TblObjectList");
353                                tblSortList.AddColumn(40, "Field Name");
354                                tblSortList.AddColumn(15, "Field Id");
355                                tblSortList.AddColumn(15, "Field Type");
356                                tblSortList.AddColumn(30, "Sort Order");
357                               
358                                char strFieldId[20];
359
360                                for (unsigned int i = 0; i < action.sortOrderList.numItems; ++i)
361                                {
362                                        CARField rField(openWindowSchema.GetInsideId(), action.sortOrderList.sortList[i].fieldId);
363
364                                        strFieldId[0] = 0;
365                                        sprintf(strFieldId, "%d", static_cast<int>(action.sortOrderList.sortList[i].fieldId));
366
367                                        CTableRow row("cssStdRow");
368                                        row.AddCell(arIn->LinkToField(openWindowContext, action.sortOrderList.sortList[i].fieldId));
369                                        row.AddCell(strFieldId);
370                                        row.AddCell((rField.Exists() ? CAREnum::DataType(rField.GetDataType()) : "Unknown"));
371                                        row.AddCell(CAREnum::SchemaSortOrder(action.sortOrderList.sortList[i].sortOrder));
372                                       
373                                        tblSortList.AddRow(row);
374
375                                        if (openWindowSchema.Exists())
376                                        {
377                                                CRefItem refItem(context, REFM_OPENWINDOW_SORTBY);
378                                                arIn->AddFieldReference(openWindowSchema.GetInsideId(), action.sortOrderList.sortList[i].fieldId, refItem);
379                                        }
380                                }
381
382                                strm << "<p>Sort Order" << tblSortList << "</p>";
383                        }
384
385                        // additional report informations
386                        if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_REPORT)
387                        {
388                                string entryIDs = reportData.getEntryIds();
389                                string queryOverride = reportData.getQueryOverride();
390                                string reportOperation = reportData.getReportOperation();
391                                string charEncoding = reportData.getCharEncoding();
392
393                                strm << "<p>EntryIDs: ";
394                                if (!entryIDs.empty() && entryIDs[0] == '$')
395                                {
396                                        int fieldId = atoi(&entryIDs.c_str()[1]);
397                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
398                                        if (fieldId > 0)
399                                        {
400                                                CRefItem refItem(context, REFM_OPENWINDOW_ENTRYIDS);
401                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
402                                        }
403                                }
404                                else
405                                {
406                                        strm << entryIDs;
407                                }
408                               
409                                strm << "<br/>Query Override: ";
410                                if (!queryOverride.empty() && queryOverride[0] == '$')
411                                {
412                                        int fieldId = atoi(&entryIDs.c_str()[1]);
413                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
414                                        if (fieldId > 0)
415                                        {
416                                                CRefItem refItem(context, REFM_OPENWINDOW_QUERYOVERRIDE);
417                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
418                                        }
419                                }
420                                else
421                                {
422                                        strm << queryOverride;
423                                }
424                               
425                                strm << "<br/>Report Operation: ";
426                                int iReportOperation = atoi(reportOperation.c_str());
427                                if (iReportOperation == 0) iReportOperation = 2;        // set default to Run
428                                strm << CAREnum::ReportOperation(iReportOperation);
429
430                                strm << "<br/>Character Encoding: ";
431                                if (!charEncoding.empty() && charEncoding[0] == '$')
432                                {
433                                        int fieldId = atoi(&charEncoding.c_str()[1]);
434                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
435                                        if (fieldId > 0)
436                                        {
437                                                CRefItem refItem(context, REFM_OPENWINDOW_CHARENC);
438                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
439                                        }
440                                }
441                                else
442                                {
443                                        strm << charEncoding;
444                                }
445                                strm << "</p>" << endl;
446                        }
447
448                        // polling interval
449                        if (ActionOpenDlgPoolingInterval(windowMode) && action.pollinginterval > 0)
450                        {
451                                strm << "<p>Polling interval: " << action.pollinginterval << "</p>" << endl;
452                        }
453                }
454        }
455        catch(exception& e)
456        {
457                cout << "EXCEPTION in AlActionOpenDlg of '" << context.getCurrentObject().GetName() << "': " << e.what() << endl;
458        }
459}
460
461bool DocOpenWindowAction::ActionOpenDlgQualifier(int nWindowType)
462{
463        switch(nWindowType)
464        {
465        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DETAIL:
466        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
467        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_LST:
468        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_SPLIT:
469        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_LST:
470        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
471        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_DETAIL:
472        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_SPLIT:
473        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
474#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
475        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
476        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_LST:
477        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_DETAIL:
478        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_SPLIT:
479        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
480        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_LST:
481        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_DETAIL:
482        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_SPLIT:
483#endif
484                return true;
485        default: return false;
486        }
487}
488
489bool DocOpenWindowAction::ActionOpenDlgTargetLocation(int nWindowType)
490{
491        switch (nWindowType)
492        {
493        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
494        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
495        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
496        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
497        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
498#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
499        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT: 
500        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
501#endif
502                return true;
503        default: return false;
504        }
505}
506
507bool DocOpenWindowAction::ActionOpenDlgCloseButton(int nWindowType)
508{
509        switch (nWindowType)
510        {
511        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
512#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
513        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
514#endif
515                return true;
516        default: return false;
517        }
518}
519
520bool DocOpenWindowAction::ActionOpenDlgSuppressEmptyList(int nWindowType)
521{
522        switch (nWindowType)
523        {
524        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
525        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
526#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
527        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
528        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
529#endif
530                return true;
531        default: return false;
532                       
533        }
534}
535
536bool DocOpenWindowAction::ActionOpenDlgInputMapping(int nWindowType)
537{
538        switch (nWindowType)
539        {
540        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
541        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
542        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
543#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
544        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
545#endif
546                return true;
547        default: return false;
548        }
549}
550
551bool DocOpenWindowAction::ActionOpenDlgOutputMapping(int nWindowType)
552{
553        switch (nWindowType)
554        {
555        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
556#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
557        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
558#endif
559                return true;
560        default: return false;
561        }
562}
563
564bool DocOpenWindowAction::ActionOpenDlgPoolingInterval(int nWindowType)
565{
566        switch (nWindowType)
567        {
568        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
569        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
570#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
571        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
572        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
573#endif
574                return true;
575        default: return false;
576        }
577}
578
579bool DocOpenWindowAction::ActionOpenDlgMessage(int nWindowType)
580{
581        switch (nWindowType)
582        {
583        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
584        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
585#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
586        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
587        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
588#endif
589        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
590                return true;
591        default: return false;
592        }
593}
594
595bool DocOpenWindowAction::ActionOpenDlgInlineForm(int nWindowType)
596{
597        // The "Inline Form" option isn't displayed on open window actions of type Dialog, Report and Popup. Show it for all other types!
598
599        switch (nWindowType)
600        {
601        //case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
602        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
603        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
604        //case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
605        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
606        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
607#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
608        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
609        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
610#endif
611        //case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
612                return true;
613        default: return false;
614        }
615}
Note: See TracBrowser for help on using the repository browser.