Jump to content


Click the link below to see the new game I'm developing!


Photo
- - - - -

Function Linkage Utility


6 replies to this topic

#1 Rob Donovan

Rob Donovan

    rob@proivrc.com

  • Admin
  • 1,652 posts
  • Gender:Male
  • Location:Spain

Posted 29 May 2006 - 08:27 PM

Hi,

I'm just working on a new utility for ProIV IDE, the 'Function Linkage Window'.

Below is a screen shot of the new utility.

On the left hand side a 'tree' grid displays all the functions in your system as they link to each other. The start function is specified in the toolbar above in the 'Root Function' field.

You can then click on a function and a graphical display of that function and the links to and from it are displayed in the window to the right.

Depending on the toolbar items 'Levels From' and 'Levels To', the window on the right displays that may levels of functions from and to the selected function.

Global functions are coloured Green as in the example, and have a button to the left to allow viewing of the input parameters.

If you mouse over a function, then a tooltip will display how the function links to and from the other functions.

The function type is displayed in the top left of each function box.

Each function can have a set of ‘user notes’ attached for you to type free hand text and descriptions about the function and its linkage. This is only saved locally to your PC.

If you double click or press return on a function in the right hand window, then that moves that function to the centre, and the links to and from it are redisplayed. So you can quickly navigate through the linkage path.

Periodically, you have to rebuild the function links, which on a system of 9000 functions takes about 2 minutes to run.

Then the data is transferred over to your PC, and a local version is used, until you do another rebuild.

Displaying the tree initially takes only about 10 seconds, and navigation down the tree and displaying the links in the right hand side is instantaneous.

Any comments or features for this utility that anyone can think of would be appreciated,

Thanks,

Rob D.

Attached Thumbnails

  • FunLinksExample2.jpg


#2 Guest_ANAONYMOUS_*

Guest_ANAONYMOUS_*
  • Guests

Posted 30 May 2006 - 03:59 AM

If the function is called in a loop , will the utility display the same

#3 Chris Pepper

Chris Pepper

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:United Kingdom

Posted 30 May 2006 - 07:01 AM

Is it picking up only hard-coded @LFUNCT variables? Does it show @EFUNCT linkages too? or @SFUNCT?

What about linkages that are changed in Global Logics (or Global Logics called from Global Logics), or in the Global Functions thenselves?
What about setting @LFUNCT to File Variables or Scratch variables, or Scratch variables concatenated from combinations of variables? Or does it give a warning that the Function is connecting to something else.

(I only ask as someone who has written this sort of thing before!).

#4 Rob Donovan

Rob Donovan

    rob@proivrc.com

  • Admin
  • 1,652 posts
  • Gender:Male
  • Location:Spain

Posted 30 May 2006 - 10:28 AM

If the function is called in a loop , will the utility display the same

Hi,

Yes it copes with function looping.

With the tree display on the left, if I get to a function that I have already processed in the tree, then I add that function in to the tree, and then I dont go down any deeper for that 'branch'.

For the display on the right, I display all the links, and it will just loop around if you keep clicking on the next function.

I could try to popup a warning for the right hand side, if you start navigating through the links and you get to a function that has already been display. I'll have a think about it..

Thanks for your input,

Rob.

#5 Rob Donovan

Rob Donovan

    rob@proivrc.com

  • Admin
  • 1,652 posts
  • Gender:Male
  • Location:Spain

Posted 30 May 2006 - 10:49 AM

Is it picking up only hard-coded @LFUNCT variables? Does it show @EFUNCT linkages too? or @SFUNCT?

What about linkages that are changed in Global Logics (or Global Logics called from Global Logics), or in the Global Functions thenselves?
What about setting @LFUNCT to File Variables or Scratch variables, or Scratch variables concatenated from combinations of variables? Or does it give a warning that the Function is connecting to something else.

(I only ask as someone who has written this sort of thing before!).

Hi Chris,

Thanks for the pointers...

I have got @LFUNCT & @EFUNCT, and if they are set by @$COM vars, I'll try to include File vars also.

But I can make it warn, if File Vars are used.

@SFUNCT I will have to think about...

Done Global Logics, but I did not think about Global Functions changing @LFUNCT, which causes the calling function to change links... thanks.

Rob.

#6 Guest_Yo!_*

Guest_Yo!_*
  • Guests

Posted 30 May 2006 - 10:40 PM

Please don't forget @TFUNCT.
;)

#7 Rob Donovan

Rob Donovan

    rob@proivrc.com

  • Admin
  • 1,652 posts
  • Gender:Male
  • Location:Spain

Posted 31 May 2006 - 05:23 AM

Hi,

I'll make sure @TFUNCT is followed also...

Thanks,

Rob.



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Click the link below to see the new game I'm developing!